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

基于人工智能的音频编解码的制作方法

2022-04-14 01:14:09 来源:中国专利 TAG:


1.该申请与语音编解码有关。例如,描述了用于执行基于人工智能的语音编解码的系统和方法。


背景技术:

2.语音编解码(也称为音频编解码和/或话音编解码)是一种用于使用尽可能少的比特来表示数字化音频信号(从而压缩语音数据),同时试图保持一定水平的音频质量的技术。语音编码器用于将数字化音频(例如,语音、音乐等)信号编码(或压缩)为较低比特率的数据流。较低比特率的数据流可以被输入到语音解码器,语音解码器解码数据流并构造原始信号的近似或重构。语音编码器-解码器结构可称为语音编解码器(或语音编解码器或音频编解码器)或语音/话音/音频编码器-解码器(codec)。
3.语音编解码器利用语音信号是高度相关的波形这一事实。一些语音编解码技术是基于话音产生的源-滤波器模型,该模型假定声带是频谱平坦的声音(激励信号)的源,而声道充当滤波器,对话音的各种声音进行频谱整形。不同的音素(如元音、摩擦音和语音摩擦音)可以通过它们的激发(源)和频谱形状(滤波器)来区分。


技术实现要素:

4.本文描述了用于提供基于人工智能的音频编解码器(例如,语音编解码器、音乐编解码器或其他类型的音频编解码器)的技术和系统。在一些示例中,音频解码器可以利用神经网络模型来解码音频信号的某些部分。音频信号的示例包括话音或语音信号、音乐信号和/或其他声音信号。虽然本文描述的一些示例使用话音或声音信号作为示例,但是本文描述的技术可以用于任何类型的音频信号。
5.在一些实施方式中,语音编解码器可以包括码激励线性预测(celp)编解码器或代数-celp(acelp)编解码器。celp模型基于语音产生的源滤波器模型,其使用线性预测(lp)模型对声道建模,并将固定码本(fcb)的条目作为lp模型的输入。例如,可以使用长期线性预测来对语音信号的音调(pitch)进行建模,并且可以使用短期线性预测来对语音信号的频谱形状(音素)进行建模。fcb中的条目基于在执行长期和短期线性预测建模之后剩余的残差信号的编解码。基于celp的编解码器中最需要比特的阶段是fcb,它基于残差信号的强力编解码,而不试图对该信号建模。
6.本文描述的技术和系统包括用人工智能模型(例如神经网络模型)替换传统语音解码器的fcb。例如,可以训练神经网络模型以充当残差信号的模型,该残差信号包括长期和短期线性预测模型未捕获的话音分量。在这样的示例中,神经网络模型的输出包括可用于激励长期线性预测模型或短期线性预测模型的残差信号。使用残差信号,可以通过长期和短期线性预测模型重构语音信号。
7.在某些情况下,通过利用语音解码器中的神经网络对残差信号建模,提供了适用于具有低比特率、复杂度和/或存储器限制的应用和/或设备的语音编解码器。例如,与传统
语音编解码中的fcb相比,神经网络模型需要的残差编解码比特数要少得多。
8.本文还提供了用于改进语音编解码的其他技术。
9.根据至少一个示例,提供了一种重构一个或多个音频信号的方法。该方法包括使用神经网络,基于对神经网络的一个或多个输入,生成音频信号的至少一个样本的残差信号。残差信号被配置为激励长期预测滤波器和短期预测滤波器中的至少一个。该方法还包括使用长期预测滤波器和短期预测滤波器中的至少一个来确定重构音频信号的至少一个样本。基于使用神经网络为音频信号的至少一个样本生成的残差信号来确定重构音频信号的至少一个样本。
10.在另一示例中,提供了一种用于重构一个或多个音频信号的装置,该装置包括被配置为存储音频数据的存储器,以及在电路中实施并耦合到存储器的一个或多个处理器。在一些示例中,该一个或多个处理器被配置为使用神经网络,基于对神经网络的一个或多个输入,生成音频信号的至少一个样本的残差信号。残差信号被配置为激励长期预测滤波器和短期预测滤波器中的至少一个。该一个或多个处理器还被配置为使用长期预测滤波器和短期预测滤波器中的至少一个来确定重构音频信号的至少一个样本。基于使用神经网络为音频信号的至少一个样本生成的残差信号来确定重构音频信号的至少一个样本。
11.在另一示例中,一种存储指令的计算机可读存储介质,当执行这些指令时,使得用于重构一个或多个音频信号的设备的一个或多个处理器:使用神经网络,基于对神经网络的一个或多个输入,生成音频信号的至少一个样本的残差信号,该残差信号被配置为激励长期预测滤波器和短期预测滤波器中的至少一个;以及使用长期预测滤波器和短期预测滤波器中的至少一个来确定重构音频信号的至少一个样本,该重构音频信号的至少一个样本是基于使用神经网络为音频信号的至少一个样本生成的残差信号来确定的。
12.在另一示例中,提供了一种用于重构一个或多个音频信号的装置。该装置包括用于使用神经网络,基于对神经网络的一个或多个输入,生成音频信号的至少一个样本的残差信号的部件。残差信号被配置为激励长期预测滤波器和短期预测滤波器中的至少一个。该装置还包括用于使用长期预测滤波器和短期预测滤波器中的至少一个来确定重构音频信号的至少一个样本的部件。基于使用神经网络为音频信号的至少一个样本生成的残差信号来确定重构音频信号的至少一个样本。
13.在某些方面,长期预测滤波器是长期线性预测(ltp)滤波器。在一些情况下,残差信号包括被配置为激励ltp滤波器的长期线性预测(ltp)残差。
14.在一些示例中,上述方法、装置和计算机可读介质可以包括:使用ltp滤波器确定音频信号的至少一个样本的线性预测(lp)残差,该音频信号的至少一个样本的lp残差是基于使用神经网络为音频信号的至少一个样本生成的ltp残差和使用增益和音频信号的至少一个先前样本的lp残差确定的音频信号的至少一个样本的ltp预测来确定的。在一些方面,增益被应用于音频信号的至少一个先前样本的lp残差。
15.在一些方面,短期预测滤波器是短期线性预测(lp)滤波器。在一些示例中,上述方法、装置和计算机可读介质可以包括:使用短期lp滤波器确定重构音频信号的至少一个样本,重构音频信号的至少一个样本是基于为音频信号的至少一个样本确定的lp预测和lp残差来确定的。在一些示例中,神经网络的一个或多个输入包括针对音频信号的至少一个样本的ltp预测、针对音频信号的至少一个样本的lp预测、由神经网络为音频信号的至少一个
先前样本确定的先前ltp残差和重构音频信号的至少一个先前样本中的至少一个。
16.在一些示例中,使用神经网络为音频信号的至少一个样本生成的ltp残差与音频信号的至少一个样本的ltp预测组合以生成音频信号的至少一个样本的lp残差。
17.在一些示例中,为音频信号的至少一个样本确定的lp残差与音频信号的至少一个样本的lp预测组合以确定重构音频信号的至少一个样本。
18.在某些方面,短期预测滤波器是短期线性预测(lp)滤波器。在一些示例中,残差信号包括被配置为激励短期lp滤波器的线性预测(lp)残差。在一些示例中,上述方法、装置和计算机可读介质可以包括:使用短期lp滤波器确定音频信号的至少一个样本的长期线性预测(ltp)残差,至少一个样本的ltp残差是基于音频信号的至少一个样本的lp预测和使用神经网络生成的lp残差来确定的。
19.在一些示例中,长期预测滤波器是长期线性预测(ltp)滤波器。在一些示例中,上述方法、装置和计算机可读介质可以包括:使用ltp滤波器确定重构音频信号的至少一个样本,重构音频信号的至少一个样本是基于音频信号的至少一个样本的ltp残差和使用增益和重构音频信号的至少一个先前样本确定的音频信号的至少一个样本的ltp预测来确定的。
20.在一些方面,音频信号的至少一个样本包括单个样本。
21.在一些方面,音频信号的至少一个样本包括多个样本。在一些示例中,多个样本被包括在音频信号的帧中。
22.在一些方面,音频信号包括话音信号,并且重构音频信号包括重构话音信号。在一些示例中,音频信号包括音乐信号,并且重构音频信号包括重构音乐信号。
23.与任何方法、装置和计算机可读介质有关的上述方面可以单独使用或以任何适当的组合使用。
24.本概要不旨在识别所要求保护的主题的关键或基本特征,也不旨在单独用于确定所要求保护的主题的范围。应通过参考本专利的整个说明书的适当部分、任何或所有附图和每项权利要求来理解主题。
25.在参考以下说明书、权利要求书和附图时,上述以及其他特征和实施例将变得更加明显。
附图说明
26.下面参考以下附图详细描述各种实施方式的示例:
27.图1是示出了根据一些示例的语音编解码系统的示例的框图;
28.图2是示出了根据一些示例的利用固定码本(fcb)的基于celp的语音编解码系统的示例的框图;
29.图3是示出了根据一些示例的利用神经网络模型的语音编解码系统的示例的框图;
30.图4是示出了根据一些示例的神经网络模型的示例的框图;
31.图5a是示出了根据一些示例的利用神经网络模型的语音编解码系统的另一示例的框图;
32.图5b是示出了根据一些示例的利用神经网络模型的语音编解码系统的另一示例
的框图;
33.图6是示出了根据一些示例的利用神经网络模型的语音编解码系统的另一示例的框图;
34.图7是示出了根据一些示例的利用神经网络模型的语音编解码系统的另一示例的框图;
35.图8是示出了根据一些示例的在逐帧基础上操作的基于神经网络的语音编解码系统的示例的框图;
36.图9是示出了根据一些示例的用于重构一个或多个音频信号的过程的示例的流程图;
37.图10是示出了根据一些示例的用于重构一个或多个音频信号的过程的示例的流程图;以及
38.图11是可实施本文描述的各种技术的示例计算设备的示例计算设备架构。
具体实施方式
39.下面提供本公开的某些方面和实施例。这些方面和实施例中的一些可以独立地应用,并且它们中的一些可以组合应用,如对于本领域技术人员来说将是显而易见的。在下面的描述中,为了解释的目的,阐述了具体细节,以便提供对本技术的实施例的透彻理解。然而,显而易见的是,可以在没有这些具体细节的情况下实施各种实施例。附图和说明并不旨在限制。
40.随后的描述仅提供示例实施例,并不旨在限制本公开的范围、适用性或配置。相反,接下来对示例性实施例的描述将为本领域技术人员提供实施示例性实施例的使能描述。应当理解,在不脱离如所附权利要求中所述的应用的精神和范围的情况下,可以对元件的功能和布置进行各种改变。
41.如上所述,本文描述了用于提供基于人工智能的音频编解码器的技术和系统。在一些示例中,音频解码器可以利用神经网络模型来解码音频信号的某些部分。虽然本文描述的一些示例使用话音信号或语音信号作为示例,但本文描述的技术可用于任何类型的音频信号,例如音乐信号和/或其他声音信号。
42.可以对数字化的音频信号(例如,话音信号)执行音频编解码(例如,话音编解码、音乐信号编解码或其他类型的音频编解码),以压缩用于存储、传输和/或其他用途的数据量。图1是示出语音编解码系统100(也可称为语音或话音编解码器或语音编码器-解码器(codec))的示例的框图。语音编解码系统100的语音编码器102可以使用语音编解码算法来处理话音信号101。话音信号101可以包括从来自给定源的模拟话音信号生成的数字化话音信号。例如,可以使用滤波器来消除混叠、使用采样器来转换为离散时间以及使用模数转换器来将模拟信号转换为数字域来生成数字化话音信号。所得到的数字化话音信号(例如,话音信号101)是具有也被离散化的样本值(本文称为样本)的离散时间话音信号。
43.使用语音编解码算法,语音编码器102可以产生压缩信号(包括较低比特率的数据流),该压缩信号表示使用尽可能少的比特的话音信号101,同时试图保持话音的特定质量水平。语音编码器102可以使用任何合适的语音编解码算法,例如线性预测编解码算法(例如,码激励线性预测(celp)、代数-celp(acelp)或其他线性预测技术)或其他语音编解码算
法。
44.语音编码器102尝试降低话音信号101的比特率。信号的比特率是基于采样频率和每个样本的比特数。例如,可以如下确定话音信号的比特率:
45.br=*b,
46.其中br是比特率,s是采样频率,b是每个样本的比特数。在一个说明性示例中,在8千赫兹(khz)的采样频率(s)和每样本16比特(b)下,信号的比特率将是每秒128千比特(kbps)的比特率。
47.然后可以将压缩的话音信号发送到语音解码器104并由其处理。在一些示例中,语音解码器104可以与语音编码器102通信,以例如请求话音数据、发送反馈信息和/或向语音编码器102提供其他通信。在一些示例中,语音编码器102或信道编码器可以在压缩语音信号被发送到语音解码器104之前对压缩话音信号执行信道编解码。例如,信道编解码可以向压缩话音信号的比特流提供错误保护,以保护比特流免受在通信信道上传输期间可能发生的噪声和/或干扰。
48.语音解码器104对压缩语音信号的数据进行解码,并构造近似于原始话音信号101的重构话音信号105。重构话音信号105包括可具有与原始话音信号101相同的比特率的数字化离散时间信号。语音解码器104可以使用语音编码器102使用的语音编码算法的逆,如上所述,该算法可以包括任何合适的语音编解码算法,例如线性预测编解码算法(例如,celp、acelp或其他合适的线性预测技术)或其他语音编解码算法。在某些情况下,例如通过执行数模转换和抗混叠滤波,可将重构话音信号105转换为连续时间模拟信号。
49.语音编解码器可以利用话音信号是高度相关的波形这一事实。输入话音信号的样本可以被划分为每个n个样本的块,其中n个样本的块被称为帧。在一个说明性示例中,每个帧的长度可以是10-20毫秒(ms)。
50.码激励线性预测(celp)是语音编解码算法的一个示例。celp模型是基于话音产生的源-滤波器模型,该模型假定声带是频谱平坦的声音(激励信号)的源,而声道充当滤波器,对话音的各种声音进行频谱整形。不同的音素(如元音、摩擦音和语音摩擦音)可以通过它们的激发(源)和频谱形状(滤波器)来区分。
51.通常,celp使用线性预测(lp)模型对声道进行建模,并使用固定码本(fcb)的条目作为lp模型的输入。例如,可以使用长期线性预测来对话音信号的音调进行建模,并且可以使用短期线性预测来对话音信号的频谱形状(音素)进行建模。fcb中的条目基于在执行长期和短期线性预测建模之后剩余的残差信号的编解码。例如,可以将长期线性预测和短期线性预测模型用于话音合成,并且可以在编码期间搜索固定码本(fcb),以定位用于输入到长期和短期线性预测模型的最佳残差。fcb提供了短期和长期线性预测模型未捕获的残差话音分量。可以在编码器处基于综合分析处理来选择残差和对应的索引,该过程被执行以选择最佳参数,以便尽可能接近地匹配原始话音信号。该索引可以被发送到解码器,解码器可以基于该索引从fcb中提取相应的ltp残差。
52.图2是示出包括语音编码器202和语音解码器204的基于celp的语音编解码系统200的示例的框图。语音编码器202可以获得话音信号201,并且可以将话音信号的样本分割成帧和子帧。例如,一个n个样本的帧可以被划分为子帧。在一个说明性示例中,可以将240个样本的帧划分为四个子帧,每个子帧具有60个样本。对于每个帧、子帧或样本,语音编码
器202为合成话音信号选择参数(例如,增益、滤波器系数或线性预测(lp)系数等),以便该合成话音信号与原始话音信号尽可能匹配。
53.语音编码器202可以包括短期线性预测(lp)引擎210、长期线性预测(ltp)引擎212和固定码本(fcb)214。短期lp引擎210对话音信号的频谱形状(音素)进行建模。例如,短期lp引擎210可以对每个帧执行短期lp分析以产生线性预测(lp)系数。在一些示例中,对短期lp引擎210的输入可以是原始话音信号或原始话音信号的预处理版本。在一些实施方式中,短期lp引擎210可以通过基于过去话音样本的线性组合来估计当前话音样本的值来对每个帧执行线性预测。例如,话音信号s(n)可以使用自回归(ar)模型(例如)来表示,其中每个样本被表示为先前m个样本加上预测误差项e(n)的线性组合。加权系数a1、a2到am被称为lp系数。可以如下找到预测误差项e(n):通过使关于滤波器系数的均方预测误差最小化,短期lp引擎210可以获得lp系数。lp系数可用于形成分析滤波器:
[0054][0055][0056]
短期lp引擎210可以通过计算使上述ar模型方程(s(n))或其他误差度量中的误差最小化的lp系数(ak)来求解p(z)(可称为传递函数)。在一些实施方式中,可以使用levinson-durbin方法、leroux-gueguen算法或其他合适的技术来确定lp系数。在一些示例中,语音编码器202可以将lp系数发送到语音解码器204。在一些示例中,语音解码器204可以确定lp系数,在这种情况下,语音编码器202可以不向语音解码器204发送lp系数。在一些示例中,可以计算线谱频率(lsf)来代替lp系数或补充lp系数。
[0057]
ltp引擎212对话音信号的音调进行建模。音调是确定话音信号中脉冲间隔或周期的特征。例如,当来自肺部的气流被声带的运动周期性地中断时,就会产生话音信号。连续声带开口之间的时间对应于音调周期。在将短期lp引擎210应用于帧之后,可以将ltp引擎212应用于帧的每个帧或每个子帧。ltp引擎212可以从与当前样本相隔一个或多个音调周期(因此术语“长期”)的过去样本预测当前信号样本。例如,可以将当前信号样本预测为rr(n)=gpr(n-t),其中t表示音调周期,gp表示音调增益,并且r(n-t)表示与当前样本相隔一个或多个音调周期的先前样本的lp残差。可以在每一帧估计音调周期。通过将帧与过去的样本进行比较,可以识别信号自身重复的周期,从而估计实际音调周期。ltp引擎212可以单独应用于每个子帧。
[0058]
fcb 214可以包括长期线性预测(ltp)残差的数目(表示为l)。ltp残差包括在执行长期和短期线性预测建模之后剩余的话音信号分量。ltp残差可以是例如固定的或自适应的,并且可以包含确定性脉冲或随机噪声(例如,白噪声样本)。对于输入话音信号的每个段(例如,每个帧或其他样本组),语音编码器202可以多次通过fcb 214中的ltp残差数l,并且可以在每次通过之后计算误差值(例如,均方误差值)。ltp残差可以使用码向量来表示。每个码向量的长度可以等于每个子帧的长度,在这种情况下,每个子帧执行一次fcb 214的搜索。语音编码器202可以选择提供最低误差的ltp残差。语音编码器202可以为给定子帧或帧
选择与从fcb 214中选择的ltp残差相对应的索引。语音编码器202可以将指示为给定子帧或帧从fcb 214中选择哪个ltp残差的索引发送到语音解码器204。还可以选择与最低误差相关联的增益,并将其发送到语音解码器204。
[0059]
语音解码器204包括fcb 224、ltp引擎222和短期lp引擎220。fcb224具有与fcb 214相同的ltp残差(例如,码向量)。语音解码器204可以使用从语音编码器202发送到语音解码器204的索引从fcb 224提取ltp残差。所提取的ltp残差可以被缩放到适当的水平,并由ltp引擎222和短期lp引擎220进行滤波,以生成重构话音信号205。ltp引擎222在与基本音调频率相关联的信号中产生周期性,并且短期lp引擎220产生信号的频谱包络。
[0060]
其它基于线性预测的编解码系统也可用于对话音信号进行编解码,包括增强语音服务(evs)、自适应多速率(amr)语音编解码系统、混合激励线性预测(melp)语音编解码系统、线性预测编解码-10(lpc-10)等。
[0061]
需要一种用于某些应用和/或设备(例如,物联网(iot)应用和设备)的语音编解码器,以低比特率、低复杂度和低内存要求来提供更高质量的话音信号的编解码。目前还没有已知的同时满足所有要求的语音编解码器。现有的基于线性预测的编解码器不能满足这样的要求。例如,基于acelp的编解码系统提供高质量,但不提供低比特率或低复杂度/低内存。其他线性预测编解码系统提供低比特率和低复杂度/低内存,但不提供高质量。
[0062]
对于基于celp的编解码系统,最需要比特(most bit-hungry)的阶段是fcb。fcb中的条目基于在执行长期和短期线性预测建模之后剩余的残差信号的编解码。例如,对在执行短期和长期线性预测之后剩余的残差信号执行代数脉冲编解码,而不试图对残差信号建模。残差信号是一个高熵信号,对高熵信号进行强力的、无模型的量化会导致很需要比特的fcb阶段。
[0063]
本文描述了用诸如神经网络模型的人工智能模型取代传统语音解码器的fcb的系统、装置、方法(也称为过程)和计算机可读介质。语音解码器的其他功能块(例如,长期线性预测滤波器或引擎和短期线性预测滤波器或引擎)可以基于常规方法(将不执行长期和短期线性预测滤波器的神经网络建模)。例如,传统语音解码器的fcb可以用人工智能模型(例如,神经网络模型)代替,而传统语音解码器的其他组件(例如,短期线性预测引擎和长期线性预测引擎)不被神经网络代替。本文描述的语音编解码系统所提供的优于现有语音编解码器的优点使得这种系统非常适合于各种类型的应用,例如包括移动(智能电话等)、零售(服务点(pos)等)、安全、智能城市/建筑、可穿戴设备、工业iot、一般iot空间应用等。
[0064]
图3是示出了利用神经网络模型的语音编解码系统300的示例的图。语音编解码系统300包括语音编码器302和语音解码器304。语音编码器302可以类似于并且可以执行上述语音编码器202的一些或全部功能。例如,语音编码器302可以包括短期lp引擎、ltp引擎和fcb(未示出)。语音编码器302可以从话音信号301提取(并且在一些情况下量化)特征集合(称为特征集),并且可以将提取的(并且在一些情况下量化的)特征集发送到语音解码器304。由语音编码器302计算的特征可以取决于所使用的特定编码器实施方式。下面根据不同的编码器实施方式提供特征集合的各种说明性示例,这些特征集合可以由语音编码器302提取(并且在某些情况下被量化),并发送到语音解码器304。然而,普通技术人员将理解,其他特征集合可以由语音编码器302提取。例如,语音编码器302可以提取任何特征集,可以量化该特征集,并且可以将该特征集发送到语音解码器304。
[0065]
如上所述,可以由语音编码器302提取特征的各种组合作为特征集合。例如,特征集可以包括以下特征之一或任意组合:线性预测(lp)系数;线谱对(lsp);线谱频率(lsf);具有整数或小数精度的音调滞后;音调增益;音调相关性;话音信号的mel尺度频率倒谱系数(也称为mel倒谱);话音信号的bark尺度频率倒谱系数(也称为bark倒谱);ltp残差的mel尺度频率倒谱系数;ltp残差的bark尺度频率倒谱系数;话音信号的频谱(例如,离散傅里叶变换(dft)或其他频谱);和/或ltp残差的频谱(例如,dft或其他频谱)。
[0066]
对于上面列出的任何一个或多个其他特征,语音编码器302可以使用任何估计和/或量化方法,例如来自任何合适的语音编解码器(例如evs、amr或其他语音编解码器)的引擎或算法,或者基于神经网络的估计和/或量化方案(例如卷积或全连接(浓密(dense))或递归自动编码器,或其他基于神经网络的估计和/或量化方案)。语音编码器302还可以对每个特征使用任何帧大小、帧重叠和/或更新速率。为了说明的目的,下面提供每个示例特征的估计和量化方法的示例,其中语音编码器302可以使用估计和量化方法的其他示例。
[0067]
如上所述,可由语音编码器302从话音信号提取的特征的一个示例包括lp系数和/或lsf。可以使用各种估计技术来计算lp系数和/或lsf。例如,如上文关于图2所述,语音编码器302可以使用levinson-durbin算法从话音信号估计lp系数(和/或lsf)。在一些示例中,可以使用用于lp估计的自协方差方法来估计lp系数和/或lsf。在某些情况下,可以确定lp系数,并且可以执行lp到lsf的转换算法以获得lsf。可以使用任何其他lp和/或lsf估计引擎或算法,例如来自现有编解码器(例如,evs、amr或其他语音编解码器)的lp和/或lsf估计引擎或算法。
[0068]
可以使用各种量化技术来量化lp系数和/或lsf。例如,语音编码器302可以使用单阶段矢量量化(ssvq)技术、多阶段矢量量化(msvq)或其他矢量量化技术来量化lp系数和/或lsf。在某些情况下,可使用预测或自适应ssvq或msvq(或其他矢量量化技术)来量化lp系数和/或lsf。在另一示例中,语音编码器302可以使用自动编码器或其他基于神经网络的技术来量化lp系数和/或lsf。可以使用任何其他lp和/或lsf量化引擎或算法,例如来自现有编解码器(例如,evs、amr或其他语音编解码器)的lp和/或lsf量化引擎或算法。
[0069]
可由语音编码器302从话音信号提取的特征的另一示例包括音调滞后(整数和/或分数)、音调增益和/或音调相关性。可以使用各种估计技术来计算音调延迟、音调增益和/或音调相关性。例如,语音编码器302可以使用任何音调滞后、增益、相关性估计引擎或算法(例如,基于自相关的音调滞后估计)从话音信号估计音调滞后、音调增益和/或音调相关性(或其任何组合)。例如,语音编码器302可以使用来自任何合适的语音编解码器(例如,evs、amr或其他语音编解码器)的音调延迟、增益和/或相关性估计引擎(或算法)。可以使用各种量化技术来量化音调滞后、音调增益和/或音调相关性。例如,语音编码器302可以使用来自任何合适的语音编解码器(例如evs、amr或其他语音编解码器)的任何音调延迟、增益、相关性量化引擎或算法来量化来自话音信号的音调延迟、音调增益和/或音调相关性(或其任何组合)。在一些情况下,语音编码器302可以使用自动编码器或其他基于神经网络的技术来量化音调滞后、音调增益和/或音调相关性特征。
[0070]
可由语音编码器302从话音信号提取的特征的另一示例包括话音信号的mel倒谱系数和/或bark倒谱系数,和/或ltp残差的mel倒谱系数和/或bark倒谱系数。可以使用各种估计技术来计算mel倒谱系数和/或bark倒谱系数。例如,语音编码器302可以使用包括mel
或bark频率滤波器组计算、滤波器组能量计算、对数应用以及离散余弦变换(dct)或dct的截断的mel或bark频率倒谱技术。可以使用各种量化技术来量化mel倒谱系数和/或bark倒谱系数。例如,可以使用矢量量化(单阶段或多阶段)或预测/自适应矢量量化。在一些情况下,语音编码器302可以使用自动编码器或其他基于神经网络的技术来量化mel倒谱系数和/或bark倒谱系数。可以使用任何其他合适的倒谱量化方法。
[0071]
可由语音编码器302从话音信号提取的特征的另一示例包括话音信号的频谱和/或ltp残差的频谱。可以使用各种估计技术来计算话音信号的频谱和/或ltp残差。例如,可以确定话音信号的离散傅立叶变换(dft)、快速傅立叶变换(fft)或其他变换。可用于量化话音信号频谱的量化技术可包括矢量量化(单阶段或多阶段)或预测/自适应矢量量化。在一些情况下,语音编码器302可以使用自动编码器或其他基于神经网络的技术来量化频谱。可以使用任何其他合适的频谱量化方法。
[0072]
如上所述,根据所使用的特定编码器实施方式,上述特征中的任何一个或上述特征的任何组合可以由语音编码器302估计、量化并发送到语音解码器304。在一个说明性示例中,语音编码器302可以估计、量化和发送lp系数、具有分数精度的音调滞后、音调增益和音调相关性。在另一说明性示例中,语音编码器302可以估计、量化和发送话音信号的lp系数、具有分数精度的音调滞后、音调增益、音调相关性和bark倒谱。在另一说明性示例中,语音编码器302可以估计、量化和发送话音信号的lp系数、具有分数精度的音调滞后、音调增益、音调相关性和频谱(例如,dft、fft或其他频谱)。在另一说明性示例中,语音编码器302可以估计、量化和发送话音信号的具有分数精度的音调滞后、音调增益、音调相关性和bark倒谱。在另一说明性示例中,语音编码器302可以估计、量化和发送话音信号的具有分数精度的音调滞后、音调增益、音调相关性和频谱(例如,dft、fft或其他频谱)。在另一说明性示例中,语音编码器302可以估计、量化和发送ltp残差的lp系数、具有分数精度的音调滞后、音调增益、音调相关性和bark倒谱。在另一说明性示例中,语音编码器302可以估计、量化和发送ltp残差的lp系数、具有分数精度的音调滞后、音调增益、音调相关性和频谱(例如,dft、fft或其他频谱)。
[0073]
语音解码器304包括神经网络模型334、ltp引擎322和短期lp引擎320。神经网络模型334替代了传统语音解码器的fcb。ltp引擎322和短期lp引擎320可以执行与以上关于ltp引擎222和短期lp引擎220描述的功能相似的功能。虽然图3中的语音解码器304和本文描述的示例(例如,在图5a-图8)被描述为包括ltp引擎(例如,ltp引擎322)和短期lp引擎(例如,短期lp引擎320)两者,但本文描述的语音解码器可以仅包括ltp引擎(而不包括短期lp引擎)或可以仅包括短期lp引擎(而不包括ltp引擎)。例如,在一些实施方式中,当语音解码器中仅包括ltp引擎(而不包括短期lp引擎)时,通常由短期lp引擎提供的数据可以作为输入提供给语音解码器(例如,来自语音编码器)。在另一示例中,在一些实施方式中,当语音解码器中仅包括短期lp引擎(而不包括ltp引擎)时,通常由ltp引擎提供的数据可以作为输入提供给语音解码器(例如,来自语音编码器)。此外,尽管本文描述的示例(例如,在图3和图5a-图8中)被描述为包括线性预测滤波器(例如,短期lp引擎320和ltp引擎322),但本文描述的语音解码器和/或语音编解码器可以包括线性预测滤波器以外的长期和短期预测滤波器。
[0074]
神经网络模型334可以包括任何神经网络架构,其可以被训练以对通常由fcb中的
数据表示的残差数据建模。由神经网络模型334生成的残差数据(例如,图5a中示出的ltp残差或图5b中示出的线性预测(lp)残差)可用于激励ltp引擎322的ltp滤波器和/或短期lp引擎320的短期预测滤波器。在一个说明性示例中,神经网络模型334是生成模型(例如,概率模型,其中网络不直接输出样本值,而是输出下一样本值的概率分布)。在一些实施方式中,输出域可以包括q比特(例如8比特)mu-law编码语音,这可以减少可能的输出样本值的数量(例如,减少到256)。在这样的实施方式中,神经网络模型334的输出可以是256个可能的mu-law指数(8比特=2^8=256个可能值)上的概率分布。可以对输出分布进行采样,并将其从mu-law转换到线性域,以产生话音样本。
[0075]
在一些示例中,神经网络模型334可以包括两个网络,包括帧速率网络和采样速率网络。图4是示出了包括帧速率网络442和采样速率网络452的神经网络模型434的一个说明性示例的图。普通技术人员将理解,神经网络模型334可以包括任何其他合适的网络架构。在一个说明性示例中,帧速率网络442处理10-ms帧(例如,160个样本),并且采样速率网络452以16khz运行。特征441可以被输入到帧速率网络442。被包括在特征441中的特征集合可以包括从语音编码器302接收的任何特征集合(在一些情况下是量化的特征,在其他情况下是去量化的特征)。特性集中包括的特性可以取决于所使用的编码器。可以使用上述特征的上述说明性示例组合中的任何一个。在上面提供的说明性示例之一中,由语音编码器302计算和量化的特征可以包括话音信号的lp系数、具有分数精度的音调滞后、音调增益、音调相关性和bark倒谱。在这样的示例中,输入到帧速率网络442的特征441可以包括话音信号的18系数bark尺度倒谱系数、整数音调周期(或滞后)(例如,在16和256个样本之间)、分数音调周期(或滞后)和音调相关性(例如,在0和1之间)。可以至少为当前话音帧之前的话音信号的最后两个帧、当前话音帧和当前话音帧之后的未来两个话音帧提供特征441。
[0076]
分数音调周期可用于最大化ltp引擎322的ltp滤波器的效率。例如,可以使用分数音调周期来最小化ltp残差能量和相关性。当分数音调周期用于ltp滤波器时,它也可以作为输入提供给神经网络模型334的神经网络,以向神经网络提供关于如何产生最适合于当前目标语音输出的ltp残差的附加信息。通过使用分数音调周期,神经网络模型334的神经网络能够预测具有最小结构的信号,这使网络复杂度最小化。
[0077]
对于可以用神经网络模型代替fcb和ltp操作的编解码器结构,将不使用分数音调周期,因为这样的编解码器结构在神经网络之外没有需要优化的ltp循环。这样的编解码器结构可以仅使用音调周期作为神经网络的特征输入,以代替fcb和ltp操作,因此不必那么精确。如上所述,分数音调周期可用于优化ltp引擎322的ltp滤波器的性能,从神经网络中移除ltp的负担,并且由分数音调周期提供的准确音调估计是有益的。
[0078]
如图4所示,帧速率网络442包括卷积层444、卷积层446、全连接层448和全连接层450。例如,特征441被输入到卷积层444,并且卷积层444的输出被输入到卷积层446。在一些情况下,卷积层444和卷积层446包括相同大小的滤波器。例如,卷积层444和卷积层446可以包括大小为3的滤波器,从而产生五帧(如上所述,前两帧和后两帧)的感受场(receptive field)。卷积层446的输出被添加到来自特征441的特征数据,然后被输入到全连接层448。来自全连接层448的输出被输入到全连接层450。帧速率网络输出然后由采样速率网络452使用的条件向量f。在一个说明性示例中,条件向量f是128维向量。条件向量f可以在每个帧的持续时间内保持恒定。
[0079]
采样速率网络452包括级联层454、门控循环单元(gru)456、gru458、组合的全连接层460和softmax层462。在某些情况下,可以使用长短期存储器(lstm)来代替gru 456和/或gru 458。级联层454可以级联条件向量f,以及来自ltp引擎422和短期lp引擎420的输出。来自ltp引擎422和短期lp引擎420的输出可以根据实施方式而变化。下面关于图5a-图8描述来自ltp引擎422和短期lp引擎420的输出的不同示例。例如,如下文关于图5a所述,到采样速率网络452的输入可以包括先前样本的先前瞬时ltp残差(例如,由神经网络模型334或434产生)、先前的瞬时合成话音样本当前样本的lp预测(例如,由短期lp引擎320或420产生)、当前样本的ltp预测(例如,由ltp引擎322或422产生)以及由帧速率网络442产生的条件向量f。在一些情况下,如下文关于图6所述,可以将先前样本的先前瞬时lp残差(例如,基于将来自神经网络模型的ltp残差与来自ltp引擎的ltp预测相结合)作为附加输入提供给采样速率网络452。提供来自ltp引擎322或422的ltp预测和ltp残差作为输入提供来自ltp引擎322或422的反馈,并将lp预测作为输入提供来自短期lp引擎320或420的反馈。使用这些输入,采样速率网络452可以生成或预测当前样本(或如下文关于图9所述的样本批次)的当前ltp残差
[0080]
在一些示例中,可以使用嵌入层(未示出)对采样速率网络452的输入进行mu-law编码和嵌入。例如,嵌入可以将每个mu-law级别映射(例如,在嵌入矩阵中)到向量,本质上是学习非线性函数集以应用于mu-law值。嵌入矩阵可以被发送到gru 456和/或gru 458。例如,如图4所示,嵌入矩阵可以被输入到gru 456,并且gru 456的输出可以被输入到gru 458。在另一示例中,嵌入矩阵可以分别输入到gru 456和gru 458。可以计算嵌入矩阵与gru 456和gru 458的非循环权重的相应子矩阵的乘积。可以将变换应用于gru 456和gru 458的所有门(u,r,h)和所有嵌入的输入(例如,和/或f;在某些情况下,这些输入中的一个或多个可以不被嵌入,例如条件向量f和/或其他输入)。使用先前的瞬时合成话音样本作为嵌入输入的示例,e可以表示嵌入矩阵,u
(u,s)
可以表示包括应用于样本嵌入的列的子矩阵u
(u)
,并且可以导出新的嵌入矩阵v
(u,s)
=u
(u,s)
e,该嵌入矩阵将样本直接映射到更新门计算的非循环项。
[0081]
来自gru 458的输出(如图4所示),或者当嵌入矩阵分别输入到gru 456和gru 458时来自gru 456和gru 458的输出被提供给全连接层460。在一些示例中,全连接层460可以包括与按元素加权和组合的两个全连接层。使用组合的全连接层460可以使计算输出概率更容易,而不会显著增加前一层的大小。在一个说明性示例中,组合的全连接层460可以定义为dual_fc(x)=a1·
tanh(w1x) a2·
tanh(w2x),其中w1和w2是权重矩阵,并且a1和a2是权重向量。全连接层460的输出与softmax层462的softmax激活一起使用,以计算ltp残差的每个可能激励值的概率。
[0082]
如图4所示,采样速率网络452的输出是当前样本(或如下文关于图9所述的样本批次)的ltp残差如下所述,ltp残差可以与来自ltp引擎322或422的ltp预测组合,以生成lp残差lp残差可以与短期lp引擎320或420的输出组合,以生成当前瞬时合成话音样本图3所示的重构话音信号305可以包括一个或多
个瞬时合成话音样本。
[0083]
可以使用任何合适的神经网络训练技术来训练神经网络模型334和434。现在将关于神经网络模型434描述一个说明性示例。然而,普通技术人员将理解,可以使用其他训练技术来训练神经网络模型334和434。可以将相应的输入输出对提供给神经网络模型334用于训练。例如,对于每个瞬间n,对帧速率网络442的输入可以包括18系数bark倒谱系数、音调整数和分数滞后(或周期)、以及当前帧之前的过去两个话音帧、当前话音帧和当前帧之后的两个后续帧的音调相关性。在这样的示例中,采样速率网络452的输入可以包括先前瞬时ltp残差先前瞬时话音样本当前lp预测和当前ltp预测神经网络模型434的目标输出(或标签或真值)可以包括当前ltp残差
[0084]
可以执行反向传播以使用输入和目标输出来训练神经网络模型434。反向传播可以包括前向传递、损失函数、后向传递和参数更新,以更新一个或多个参数(例如,权重、偏置或其他参数)。在一次训练迭代中执行前向传递、损失函数、后向传递和参数更新。对于每个输入集合,该过程可以重复一定的迭代次数,直到神经网络模型434训练得足够好,使得各个层的权重(和/或其他参数)被精确地调整。
[0085]
虽然语音编解码系统300被示出包括某些组件,但普通技术人员将理解,语音编解码系统300可以包括比图3所示组件更多或更少的组件。例如,在一些实例中,语音编解码系统300还可以包括图3中未示出的一个或多个其它存储器组件(例如,一个或多个高速缓存器、缓冲器、ram、rom等)、存储组件、显示组件、处理组件、电路、控制器、传感器、接口、asic(专用集成电路)等。此外,在一些情况下,语音编解码系统300可以是计算系统的一部分,该计算系统可以包括图3中未示出的一个或多个组件,例如一个或多个无线收发器、一个或多个输入设备(例如,触摸屏、键盘、鼠标、输入传感器等)、一个或多个输出设备(例如,显示器、扬声器、投影仪等)、一个或多个存储设备、一个或多个其他处理设备等。
[0086]
语音编解码系统300可以是计算设备的一部分,或者可以由计算设备来实施。在某些实施方式中,该计算设备可以包括电子设备,例如相机(例如,数码相机,照相电话、视频电话、具有内置相机的平板设备或其他合适的捕捉设备)、移动或固定电话手持机(例如,智能电话、蜂窝电话等)、台式计算机、膝上型计算机或笔记本计算机、平板计算机、头戴式显示器(hmd)或虚拟现实耳机、平视显示器(hud)、车辆(例如,自动驾驶车辆或人驾驶车辆)、机顶盒、电视机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备或任何其他合适的电子设备。在一些情况下,计算设备(或多个设备)可以包括用于无线通信的一个或多个无线收发器。
[0087]
在一些示例中,语音编码器302可以是第一计算设备或计算系统(例如,服务器设备或系统、车辆或其他计算设备或系统)的一部分,并且语音解码器304可以是第二计算设备或计算系统(例如,移动手持机、台式计算机或其他计算设备或系统)的一部分。包括语音编码器302的计算系统和/或包括语音解码器304的计算系统可以包括下面关于图11描述的计算系统1100。计算系统(或设备)可以使用任何可用的通信协议在任何可用的通信网络上通信。例如,计算系统可以包括用户通信接口,其可以使用有线和/或无线收发器(或单独的接收器和发送器)执行或促进有线或无线通信的接收和/或传输。下面参照图11提供输入-输出设备和通信协议的各种说明性示例。
[0088]
图5a是示出了包括语音编码器502和语音解码器504的语音编解码系统500a的示例的框图,该语音解码器504使用神经网络模型来生成ltp残差,该ltp残差通常使用fcb提供。语音编解码系统500a是语音编解码系统300的示例,并且可以执行上面关于图3和/或图4描述的一些或全部功能。图5a(和图5b-图8)中示出的带有帽子符号(例如,残差)的项是量化值,而示出的不带有帽子符号的项是非量化值。在图5a中(以及在图5b-图9中),符号z-x
表示x样本延迟元素(例如,z-1
表示1个样本延迟)。向后三角形是一个放大器,其增益写在三角形内。具有传递函数的滤波器由一个矩形表示,该矩形内写有传递函数
[0089]
如图5a所示,语音编码器502接收话音信号s(n),并且可以从话音信号s(n)提取特征。特征541可以被发送到语音解码器504。如前所述,可以由语音编码器502确定、量化不同的特征集并将其发送到语音解码器504。例如,语音编码器502可以提取任何特征集,可以量化该特征集,并且可以将该特征集发送到语音解码器504。在使用上述编码器实施方式之一的一个说明性示例中,语音编码器502可以估计、量化和发送话音信号的lp系数、具有分数精度的音调滞后(或周期)、音调增益、音调相关性和bark倒谱系数。然而,普通技术人员将理解,其他特征集合可以由语音编码器502提取。
[0090]
在一些示例中,对于lp系数估计,语音编码器502可以使用levinson-durbin算法。在一个说明性示例中,对于整数音调延迟估计,语音编码器502可以使用evs编解码器开环(ol)音调估计算法。例如,ol音调分析计算每个帧的音调滞后的三个估计,这可以通过将闭环音调搜索限制在开环估计滞后周围的少量滞后来执行以平滑音调演变轮廓并简化音调分析。ol音调估计基于感知加权的预强调输入信号。开环音调分析是对二次抽取的信号(例如,以6.4khz采样)执行的,这可以降低搜索过程的计算复杂度。通过具有特定系数(例如系数{0.13、0.23、0.28、0.23、0.13})的五阶有限冲激响应(fir)滤波器对信号进行滤波,然后以因子(例如因子2)对输出进行下采样,可以获得抽取后的信号。ol音调分析可以每帧执行三次,以找到音调滞后的三个估计,包括当前帧中的两个和后续帧中的一个。前两个估计基于当前帧的某些段(例如,10毫秒(ms)段)。第三个估计对应于后续帧,并且该段的长度可以是某个持续时间(例如,8.75ms)。在一些示例中,可以使用基于自相关的方法进一步细化ol音调估计,例如evs编解码标准中描述的用于开环音调分析的自相关技术(例如,3gpp ts 26.445版本12.0.0版本12,通过引用其全部内容并入本文并用于所有目的)。
[0091]
在一些示例中,对于分数音调滞后估计,语音编码器502可以使用evs编解码器分数音调估计方法。例如,可以通过在音调滞后值d
[0]
和d
[1]
周围(在12.8-khz采样域中)以分数分辨率最大化归一化相关函数来进一步细化ol音调。分数开环音调滞后可以每帧计算四次(例如,对于64个样本的每个子帧)。然后,对应于最佳分数开环音调滞后的最大归一化相关性可用于浊音编解码(vc)帧(例如,具有高周期性和平滑音调轮廓的帧)的分类。分数开环音调搜索可以通过首先最大化区间[d
[i]7…d[i]
6]中的整数滞后的感知加权语音sh的自相关函数c来执行,其中对于第一和第二子帧中的搜索,d
[i]
=d
[0]
,对于第三和第四子帧,d
[i]
=d
[1]
。除了可以使用12.8khz采样率的感知加权语音之外,还可以使用与上面用于整数音调滞后估计的自相关函数相似的自相关函数。例如,可以使用用于分数开环音调估计的evs编解码标准中描述的自相关技术。
[0092]
在另一说明性示例中,对于整数和/或小数音调滞后估计,语音编码器502可以使用增强型可变速率编解码器(evrc)音调估计算法。例如,延迟估计和长期预测增益计算的输入可以包括短期残差向量(表示为{ε(n)}),并且延迟估计和长期预测增益计算的输出可以包括音调延迟估计(表示为τ)和长期预测增益(表示为β))。作为初始化的一部分,可以在启动时将部分或全部局部状态变量和缓冲区的值设置为零。可以使用下面描述的技术来计算音调延迟。音调延迟是使短期预测残差信号的自相关函数(或其他适当函数)最大化的延迟,受到某些约束。音调延迟的计算可以在两个估计窗口上独立地进行。第一估计窗口可以包括整个当前帧,第二估计窗口可以包括当前帧的后半部分和前瞻。然后可以应用规则来组合两个估计窗口的延迟估计和增益。
[0093]
对于每个帧的两个估计窗口中的每一个,可以执行对每个窗口中的最佳延迟的约束搜索。在一些情况下,可以执行非穷尽的开环延迟搜索,如第三代合作伙伴项目2(3gpp2)增强的可变速率编解码器(evrc),语音服务编解码器标准(例如,3gpp c.s0014-d,版本3.0,节4.6.3.1,通过引用其全部并入本文并用于所有目的)中所描述的那样。例如,残差信号ε(n),可以被滤波和抽取四次(或其他合适的值),以产生抽取后的残差信号{εd(n)}。在某些情况下,可通过应用以下方法生成抽取后的残差信号{εd(n)}:
[0094]
x(n)=ε(n n
start
) 2.2875x(n-1)-1.956x(n-2) 0.5959x(n-3);
[0095]
以及:
[0096]
εd(n

)=εd(n

20),0≤n

≤20,
[0097]
以及:
[0098]
εd(n

)=x(4n
′‑
77)-0.312[x(4n
′‑
78) x(4n
′‑
79)] x(4n
′‑
80),
[0099]
其中{x(n)}是抽取滤波器存储器,{εd(n)}是抽取残差缓冲器,并且n
start
对于第一估计窗口是160(或其他适当值),对于第二估计窗口是240(或其他适当值)。抽取后的残差信号{εd(n)}的自相关函数可以使用以下方法产生:
[0100][0101]
然后可以找到对应于最大正相关r
max
的延迟d
max

[0102]
还可以执行其他功能,例如使用上述非穷尽开环延迟搜索确定的开环延迟估计的细化(例如,对于服务选项(so)3、so 68、so 70和/或so 73语音编解码器),长期预测增益计算,平滑延迟估计和ltp增益(例如,对于so 3、so 68、so 70和/或so 73语音编解码器)、和/或复合延迟和增益计算(例如,对于so 3、so 68、so70和/或so 73语音编解码器),例如3gpp2增强可变速率编解码器(evrc),语音服务编解码器标准中描述的那些(例如,3gpp c.s0014-d,版本3.0,节4.6.3至4.6.3.8,通过引用其全部内容并入本文并用于所有目的)。
[0103]
在一些示例中,对于bark倒谱计算,语音编码器502可以使用任何合适的bark倒谱计算算法。例如,可以从多个bark间隔的带(例如,18个bark间隔的带)计算bark倒谱。在某些情况下,bark倒谱每预定时间段(例如,每10ms)计算一次。在一些实施方式中,可以使用循环或非循环卷积自动编码器(神经网络)来执行量化。在某些情况下,可以将四个倒谱向量打包到每个分组中。在一些实施方式中,可以执行预测方案以最小化分组内的冗余,同时限制跨分组的依赖性,这可以减少分组丢失的影响。在一个示例中,分组k可以包括倒谱向
量c
4k
到c
4k 3
。c
4k 3
的第一分量(c0)可以用统一标量量化器(例如,具有0.83db分辨率的7比特标量量化器)独立地编解码。然后,可以使用码本(例如,每阶段具有17维和10比特的3阶段码本)对c
4k 3
的其余分量进行独立地编解码。然后,可以使用c
4k 1
(在先前的分组中独立地编解码)和c
4k 3
对向量c
4k 1
进行预测编解码。在某些情况下,如果预测是平均值(c
4k 1
c
4k 3
/2),可以使用单个比特进行信令通知,如果预测是c
4k 1
或c
4k 3
,可以使用两个比特进行信令通知。然后,对于c
4k 1
的总共13比特,可以用平均预测器的11比特 符号码本对18维预测残差进行编解码,或如果不是,则用10比特 符号码本。在一些情况下,没有足够的比特率来充分编解码c
4k
和c
4k 2
,在这种情况下,可以使用来自相邻向量的预测。例如,向量c
4k
可以从相邻c
4k-1
和c
4k 1
预测,而c
4k 2
可以从c
4k 1
和c
4k 3
预测。
[0104]
虽然上面提供了用于确定各种特征的技术的各种说明性示例,但是可以使用任何其他合适的技术来确定特征。
[0105]
语音编码器502可以将特征541(例如,在特征被量化之后)发送到语音解码器504。语音解码器504包括神经网络模型534、ltp引擎522和短期lp引擎520,其可以类似于上面关于图3描述的神经网络模型334(以及在某些情况下神经网络模型434)、ltp引擎322和短期lp引擎320。在一些情况下,神经网络模型534包括帧速率网络和采样速率网络,例如上面关于图4描述的那些。
[0106]
语音解码器504还可以包括音调增益估计引擎564、音调估计引擎566和lp系数估计引擎568。例如,音调增益估计引擎564、音调估计引擎566和lp系数估计引擎568包括用于在语音编码器502没有显式估计和发送那些特征中的一个或多个的情况下从其他编码器特征隐式估计那些特征的算法。如果所使用的编码器实施方式不显式地发送音调增益、音调估计和lp系数,则可能需要解码器侧的音调增益估计引擎564、音调估计引擎566和lp系数估计引擎568,在这种情况下,可以从其他编码器特征隐式地估计这些特征。对于上面描述的提取、量化和发送话音信号的lp系数、具有分数精度的音调滞后(或周期)、音调增益、音调相关性和bark倒谱系数的编码器实施方式,显式地发送lp和音调参数,在这种情况下,在这些实施方式中不需要音调增益估计引擎564、音调估计引擎566和lp系数估计引擎568。
[0107]
基于可能不显式发送lp系数或音调参数(例如,增益、滞后、周期等)的其他编码器实施方式,音调增益估计引擎564、音调估计引擎566和lp系数估计引擎568可用于估计那些特征。例如,对于上面描述的提取、量化和发送话音信号的具有分数精度的音调滞后、音调增益、音调相关性和bark倒谱的编码器实施方式,语音编码器不显式地发送lp特征。在这种情况下,lp系数估计引擎568可由语音解码器504用于从编码器确实发送的话音信号的bark倒谱估计lp系数。在一个说明性示例中,通过首先将bark频率倒谱(例如,18频带bark频率倒谱)转换为线性频率功率谱密度(psd),可以从话音信号的bark频率倒谱估计lp系数。然后可以使用逆fft将psd转换为自相关。根据自相关,可以使用levinson-durbin算法来计算lp系数。在语音编码器502未显式发送音调的情况下,语音解码器504可以使用音调估计引擎566从话音频谱中导出音调。
[0108]
神经网络模型534通过有效地将输入特征解码为ltp残差来生成ltp残差如图5a所示,神经网络模型的输入可以包括当前样本n的ltp预测(从ltp引擎522输出)和lp预测(从短期lp引擎520输出)、先前样本n-1的ltp残差以及
合成话音信号的先前样本合成话音信号的先前样本由语音编码器502发送和/或由音调增益估计引擎564、音调估计引擎566和lp系数估计引擎568中的一个或多个确定的特征541也可以被提供给神经网络模型534。基于该输入,神经网络模型534可以生成当前样本n的ltp残差该残差在原始信号s(n)和合成(重构)信号之间产生最小误差。
[0109]
从神经网络模型534输出的ltp残差可用作ltp引擎522的输入(并可用于ltp引擎522的激励),如图5a所示。在一些示例中,ltp残差可用作短期lp引擎520的输入。如图5a所示,ltp残差与由语音编码器502发送和/或由音调增益估计引擎564、音调估计引擎566和lp系数估计引擎568中的一个或多个导出的音调参数(例如,音调周期t和音调增益)一起被输入到ltp引擎522。ltp引擎522的ltp滤波器可以对信号的音调进行建模(其中音调是确定合成lp残差中脉冲的间隔或周期性的特征),并因此产生具有正确的脉冲间隔的当前样本n的合成lp残差信号从间隔一个或多个音调周期的先前样本预测当前信号样本n的ltp预测并且音调增益可应用于先前样本的lp残差信号(例如,先前样本n-1或任何其他先前样本n-2、n-3等的lp残差)。例如,当前样本n的ltp预测可以被预测为音调增益乘以先前样本n-t的lp残差其中t是音调周期,向ltp滤波器指示返回多远来查看和复制脉冲。在一个说明性示例中,ltp引擎522可以使用以下公式来确定ltp预测:将由ltp滤波器预测的ltp预测与来自神经网络模型534的ltp残差组合(如“ ”号所示),以生成当前样本n的合成lp残差
[0110]
从ltp引擎522输出的合成lp残差被提供给短期lp引擎520,该短期lp引擎520可以包括短期lp滤波器。由语音编码器502发送或由lp系数估计引擎568确定的lp系数也可以被输入到短期lp引擎520。短期lp引擎520的短期lp滤波器可用于对话音信号的频谱形状(或谱峰或包络)建模。例如,在语音编码器502处,可以通过自回归(ar)处理合成器对信号x(n)进行滤波以获得ar信号。如上所述,线性预测器可用于将ar信号(其中预测的ar信号是lp预测)预测为先前m个样本的线性组合,如下所示:
[0111][0112]
其中项是ar参数(也称为lp系数)的估计。lp残差(也称为预测误差)是原始ar信号和预测ar信号之间的差(因此是实际样本和预测样本之间的差)。在语音编码器502处,线性预测编解码用于找到最佳lp系数,以最小化二次误差函数,从而最小化误差。短期线性预测过程从话音信号中去除短时相关性。lp系数是表示话音信号短期频谱的有效方式。在语音解码器504处,短期lp滤波器使用计算或接收的lp系数和传递函数确定当前样本n的lp预测
[0113]
最终重构(或预测)信号可以被确定为从ltp引擎522输出的合成lp残差和由短期lp引擎520确定的lp预测(针对当前样本n)之和。
[0114]
图6是示出了包括语音编码器602和语音解码器604的语音编解码系统600的另一示例的框图,该语音解码器604使用神经网络模型来生成ltp残差(通常使用fcb提供)。语音编解码系统600与语音编解码系统500a相似并且可以执行与语音编解码系统500a相似的功能,并且在此不再赘述公共组件和功能。
[0115]
除了上面关于图5a描述的功能之外,提供先前瞬时lp残差作为神经网络模型的附加输入。先前瞬时lp残差提供了另一个参数,神经网络模型可以使用该参数来提供对ltp残差的更精确的估计。
[0116]
图7是示出了语音编解码系统700的另一示例的框图。类似于语音编解码系统500a(图5a)和600(图6),语音编解码系统700包括语音编码器702和语音解码器704,该语音解码器704使用神经网络模型来生成ltp残差。语音编解码系统700与语音编解码系统500a相似并且可以执行与语音编解码系统500a相似的功能,并且在此不再赘述公共组件和功能。
[0117]
除了上面关于图5a描述的功能之外,由ltp引擎预测的ltp预测和由短期lp引擎预测的lp预测被组合(如由“ ”符号769所示)。将求总和的lp和ltp预测输入到图7所示的架构中的神经网络模型,而不是将两个单独的lp和ltp预测输入提供给图5a和图6所示的架构中的神经网络模型。在一些情况下,lp和ltp预测输入的组合可用于图5a所示的示例(其中先前样本的lp残差未作为神经网络模型的附加输入提供),并且也可用于图6所示的示例(其中先前样本的lp残差作为神经网络模型的附加输入提供),如图7所示的虚线770所示。
[0118]
上面关于图5a和图6描述的示例语音编解码系统架构通过在每次迭代产生合成话音样本来逐样本操作。在一些实施方式中,语音编解码系统可以设计有执行批量生成的神经网络模型(例如,生成模型),该神经网络模型可以一次生成整个话音帧,而不是生成逐样本的输出。批量生成替代实施方式将允许添加ltp残差(例如,)和ltp预测(例如,)在整个帧中并行发生。
[0119]
图8是示出了包括批量生成神经网络模型834的语音编解码系统800中的语音解码器804的示例的图。如图所示,神经网络模型834的输入包括ltp残差重构信号lp预测和先前帧的所有样本的ltp预测还提供当前帧的特征841作为神经网络模型834的输入。特征841可以包括上述特征集合中的任何一个。特征841中的一些或全部可由语音编解码器(未示出)发送到语音解码器804和/或可由语音解码器804确定。
[0120]
使用所提供的输入,神经网络模型834生成整个当前话音帧的ltp残差将ltp残差作为输入提供给ltp引擎822。如上所述,ltp引擎822可以使用先前帧的lp残差和音调增益(例如,通过计算)来生成整个帧的ltp预测ltp引擎822可以组合整个帧的ltp预测和ltp残差以生成当前帧的
合成lp残差
[0121]
将从ltp引擎822输出的合成lp残差作为输入提供给短期lp引擎820。使用由语音编码器发送或由语音解码器804确定的lp系数,短期lp引擎820可以使用传递函数确定帧的lp预测可以将整个帧的最终重构信号确定为从ltp引擎822输出的合成lp残差和由短期lp引擎820确定的lp预测之和。
[0122]
以上关于图5a-图8描述的示例语音编解码系统架构作为示例提供用于说明目的。然而,可以使用其他编码系统架构,其中语音解码器包括产生ltp残差的神经网络模型。例如,在一些实施方式中,语音解码器505可以具有图5b的语音编解码系统500b中所示的配置,其中与图5a中所示的语音解码器504的配置相比,短期lp引擎(例如,短期lp引擎520等)和ltp引擎(例如,ltp引擎522等)被调换。在图5b所示的示例中,来自神经网络模型534的输出是残差信号,该残差信号包括被配置为激励短期lp引擎521的短期lp滤波器的线性预测(lp)残差在这样的实施方式中,短期lp引擎521的输出被提供给ltp引擎523。例如,短期lp引擎521的短期lp滤波器可以基于样本的lp预测和使用神经网络模型534生成的lp残差来确定话音信号的样本的ltp残差ltp引擎523的ltp滤波器可以基于由短期lp引擎521的短期lp滤波器确定的样本的ltp残差和基于样本的ltp预测来确定重构话音信号的样本如图5b所示,ltp预测可以由ltp滤波器使用增益和重构话音信号的至少一个先前样本(例如,先前样本n-t的)来确定。在一些示例中,神经网络模型(例如,神经网络模型534)可以为短期线性预测引擎(例如,短期lp引擎520和/或短期lp引擎521)和ltp引擎(例如,ltp引擎522和/或ltp引擎523)提供残差信号。在一些示例中,仅ltp引擎和短期线性预测引擎中的一个可用于确定重构音频信号的至少一个样本。
[0123]
在一些示例中,神经网络模型可以是其他类型和架构,并且可以接受可能不同于上述那些的其他输入集合。根据本文提供的示例的任何编解码系统架构的关键部分是在神经网络模型之外存在生成ltp残差的ltp合成循环,然后该ltp残差由ltp合成循环使用,这意味着神经网络模型只需要预测ltp残差,而不需要直接预测lp残差或话音信号。lp残差和话音信号具有神经网络难以建模的结构。
[0124]
使用上述神经网络模型来生成ltp残差对于比特率降低是有利的,因为它消除了传统celp编解码器的fcb阶段,fcb级是celp编解码器的最消耗比特的阶段。上述基于神经网络的语音编解码系统在神经网络模型之外建模音调分量,在这种情况下,编码器估计并发送音调参数(例如,使用语音编解码器处的ltp引擎)。在一些示例中,音调参数的量化在传统的基于celp的编解码器中会消耗大量比特。
[0125]
在一些实施方式中,可以在编码器侧以节省大量比特的方式执行音调参数估计和量化。例如,松弛码激励线性预测(rcelp)编解码技术可以与ltp残差生成神经网络模型一起用于音调参数估计,这可以允许最大的比特节省(通过去除很需要比特的fcb阶段和很需要比特的音调参数量化阶段)。rcelp并不尝试完全匹配原始话音信号。rcelp不尝试匹配原始残差信号,而是匹配符合简化音调轮廓的原始残差的时间扭曲版本。通过在每帧中估计
一次音调延迟并通过逐帧线性内插音调来获得音调轮廓。简化音调表示能够显著节省音调量化,例如通过消除对分数音调和/或子帧音调滞后和增益更新的需要。
[0126]
上面描述的用于生成ltp残差的神经网络模型充当在对信号执行ltp和短期lp之后剩余的残差信号的模型,并且不执行针对典型的基于celp的语音编解码器的fcb执行的强力、无模型量化器。该神经网络模型需要更少的(可能为0)比特用于残差编解码,以解决各种目标应用(例如,iot等)的低比特率需求。
[0127]
与传统编解码器相比以及相对于使用本文描述的基于ltp残差生成神经网络的系统的其他新颖的基于机器学习(ml)的编解码器,还提供了其他优点。在一个示例中,本文描述的技术和系统相对于传统编解码器的优点包括在较低比特率下的更好的话音质量。这一优点部分是基于消除了传统编解码器的很需要比特的fcb阶段。此外,已经证明神经网络模型功能强大且稳健,允许在保持质量的同时对发送的特征进行更严格的量化。使用神经网络模型代替fcb可以通过适当地调整神经网络模型的输出来补偿lp和音调参数中的较高量化误差(例如,如上所述,在神经网络模型之后的阶段中使用)。
[0128]
与其他基于ml的编解码器相比,其优点包括较低的计算复杂度。例如,通过用神经网络模型仅替换传统编解码器的一个阶段(fcb),神经网络只需要对话音信号的一个分量(fcb)建模,而不需要对(分别由ltp和短期lp阶段处理的)音调或频谱形状分量建模。通过只建模话音信号的一个分量,因此,相对于可能对celp编解码器管道的多个阶段进行建模的基于ml的编解码器,神经网络的大小和复杂性可以保持较低。此外,在可能试图用神经网络模型替换整个传统解码器的基于ml的编解码器中,神经网络模型必须对所有三个语音分量(fcb、音调和频谱形状)建模,从而导致高复杂度模型(例如,大于每秒15千兆浮点运算(gflop))。在可能试图用神经网络模型替换传统编解码器的两个阶段(例如,fcb和ltp)的基于ml的编解码器中,神经网络模型必须对两个话音分量(当fcb和ltp被神经网络模型替换时,fcb和音调)进行建模,从而导致模型复杂度低于替换整个解码器的基于ml的系统,但仍然比仅fcb建模所需的模型更大。
[0129]
本文描述的技术和系统使用神经网络模型来对fcb组件建模,而传统语音解码器的其他组件(例如,短期线性预测引擎和长期线性预测引擎)不被神经网络替换,由此允许将神经网络模型的复杂度降低到所需的最小,允许语音编解码器在所需复杂度点处实现质量目标。
[0130]
此外,对话音信号的音调和频谱形状分量进行建模需要滤波操作。传统编解码器的ltp和短期lp阶段是线性时变滤波器。滤波操作需要乘法。神经网络不能有效地建模时变滤波操作,因为它们不能有效地建模输入的乘法。因为滤波器是时变的,因此滤波器不能用恒定的神经网络权重来建模。相反,滤波器系数必须作为附加输入提供给神经网络,因为它们必须变化。神经网络计算输入的线性组合,并对结果应用非线性。因此,对逐个输入乘法进行建模需要多个层/神经元。因此,使用神经网络模型之外的算法(例如,数字信号处理(dsp)算法,例如ltp和短期lp滤波算法)实施滤波操作,而不试图在神经网络模型内包括此类滤波操作,可以更加有效。因此,本文提供的系统和技术与可能尝试替换整个常规解码器操作(fcb、ltp和短期lp滤波)或替换常规解码器操作的两个阶段(例如,fcb和ltp)的基于ml的编解码器相比具有计算复杂性优势,因为ltp和短期lp滤波操作都在ltp残差生成神经网络模型之外执行。
[0131]
对于可以用神经网络模型替换fcb和ltp操作的编解码器结构,神经网络必须对传统编解码器的ltp滤波器建模。ltp滤波器输出是乘法的结果:其中g是音调增益,r是lp残差,t是音调周期,如上所述。用神经网络建模ltp滤波器操作效率低,至少有两个原因。例如,用神经网络建模ltp过滤器操作需要记住过去的样本:(n-t),其中t可以有超过100个样本。即使是最先进的神经网络结构(例如,递归神经网络(rnn)结构,例如门控循环单元(gru)或长短期记忆(lstm))也不能将遥远的过去信息保存在其内部状态。此外,建模ltp滤波器操作需要乘法,即使显式地提供(n-t)作为神经网络的输入并且神经网络不需要依赖存储器,用神经网络表示乘法也是低效的。ltp残差生成神经网络模型只对ltp残差进行建模,因此不需要记忆过去的样本,也不需要乘法运算。
[0132]
本文描述的系统和技术还提供了方便的框架来集成其他语音编解码技术,诸如rcelp(例如,允许ltp模块以最大比特效率执行)、在语音编解码器处的选择性ltp低通滤波(例如,基于最低自适应码本(acb)残差能量决定)和/或其他语音编解码技术。
[0133]
图9是示出了使用本文描述的技术重构一个或多个音频信号的过程900的示例的流程图。过程900可以由音频解码器、例如图3的语音解码器304、图5a的语音解码器504或图5b的语音解码器505或本文提供的任何其他语音解码器示例执行。本文描述的语音解码器还可用于解码除话音之外的其它类型的音频信号,例如音乐信号。
[0134]
在框902,过程900包括使用神经网络,基于对神经网络的一个或多个输入,生成音频信号的至少一个样本的残差信号。音频信号可以包括话音信号、音乐信号和/或其他类型的音频信号。残差信号被配置为激励长期预测滤波器和短期预测滤波器中的至少一个。长期预测滤波器可以包括长期线性预测(ltp)滤波器(例如,作为ltp引擎322、ltp引擎522或本文描述的其他ltp引擎的一部分)。残差信号可以包括被配置为激励ltp滤波器的长期线性预测(ltp)残差(例如,ltp残差)。短期预测滤波器可以包括短期线性预测(lp)滤波器(例如,作为短期lp引擎320、短期lp引擎520或本文描述的其他短期lp引擎的一部分)。在一些实施方式中,音频信号的至少一个样本包括单个样本(例如,可由语音编解码系统500a、500b、600或700处理)。在一些实施方式中,音频信号的至少一个样本包括多个样本。例如,多个样本被包括在音频信号的帧中(例如,可由语音编解码系统800处理)。
[0135]
在框904,过程900包括使用长期预测滤波器和短期预测滤波器中的至少一个来确定重构音频信号的至少一个样本。重构音频信号可以包括重构话音信号、重构音乐信号和/或其他类型的重构音频信号。基于使用神经网络为音频信号的至少一个样本生成的残差信号来确定重构音频信号的至少一个样本。
[0136]
在一些示例中,过程900可以包括使用ltp滤波器确定音频信号的至少一个样本的线性预测(lp)残差。lp残差可以包括上述lp残差可以基于使用神经网络(针对音频信号的至少一个样本)生成的ltp残差(例如,),并使用音频信号的至少一个样本的ltp预测(例如,上文描述的ltp预测)来确定音频信号的至少一个样本的lp残差。如上所述,可以使用增益和音频信号的至少一个先前样本的lp残差(例如,例如,)来确定ltp预测例如,增益(例如,音调增益)可应用于音频信号的至少一个先前样本的lp残差,以生成ltp预测(例如,基于计算)。
[0137]
在一些示例中,过程900可以包括使用短期lp滤波器确定重构音频信号的至少一个样本。可以基于lp预测(例如,上述lp预测)和为音频信号的至少一个样本确定的lp残差(例如,上述lp残差)来确定重构音频信号的至少一个样本。
[0138]
在一些示例中,神经网络的一个或多个输入包括针对音频信号的至少一个样本的ltp预测(例如,)、针对音频信号的至少一个样本的lp预测(例如,)、由神经网络为音频信号的至少一个先前样本确定的先前ltp残差(例如,)、重构音频信号的至少一个先前样本(例如,),或其任何组合中的任何一个或多个。其他输入可以包括上述任何特征,例如特征441、特征541或本文描述的其他特征。
[0139]
在一些示例中,使用神经网络为音频信号的至少一个样本生成的ltp残差与音频信号的至少一个样本的ltp预测组合以生成音频信号的至少一个样本的lp残差。例如,如上文关于图5a所述,ltp残差可与ltp预测组合以生成lp残差在一些示例中,为音频信号的至少一个样本确定的lp残差与音频信号的至少一个样本的lp预测组合以确定重构音频信号的至少一个样本。例如,如上文关于图5a所述,将为音频信号的至少一个样本确定的lp残差与音频信号的至少一个样本的lp预测组合以确定重构音频信号的至少一个样本
[0140]
在一些示例中,由神经网络生成的残差信号包括被配置为激励短期lp滤波器的lp残差。例如,如上文关于图5b所述,过程900可以包括使用短期lp滤波器确定音频信号的至少一个样本的ltp残差。如上所述,可以基于对音频信号的至少一个样本的lp预测和使用神经网络生成的lp残差来确定至少一个样本的ltp残差。
[0141]
在一些示例中,过程900可以包括使用ltp滤波器确定重构音频信号的至少一个样本。可以基于音频信号的至少一个样本的ltp残差(例如,)和使用增益和重构音频信号的至少一个先前样本(例如先前样本n-t的t的)确定的至少一个样本的ltp预测(例如,)来确定重构音频信号的至少一个样本。
[0142]
关于图9描述的上述示例可以单独使用或以任何组合使用。
[0143]
图10是示出了使用本文描述的技术重构一个或多个音频信号的过程1000的示例的流程图。过程1000可以由语音解码器执行,例如图3的语音解码器304、图5a的语音解码器504或图5b的语音解码器505,或本文提供的任何其他语音解码器示例。
[0144]
在框1002,过程1000包括使用神经网络,基于一个或多个输入,生成音频信号的至少一个样本的长期线性预测(ltp)残差。音频信号可以包括话音信号、音乐信号和/或其他类型的音频信号。ltp残差被配置为激励ltp滤波器。ltp滤波器可以是ltp引擎322、ltp引擎522或本文描述的其他ltp引擎的一部分。在一些实施方式中,音频信号的至少一个样本包括单个样本(例如,可由语音编解码系统500a、500b、600或700处理)。在一些实施方式中,音频信号的至少一个样本包括多个样本。例如,多个样本被包括在音频信号的帧中(例如,可由语音编解码系统800处理)。
[0145]
在框1004,过程1000包括使用ltp滤波器确定音频信号的至少一个样本的线性预测(lp)残差。可以基于使用神经网络为至少一个样本生成的ltp残差和使用增益和音频信
号的至少一个先前样本的lp残差确定的至少一个样本的ltp预测来确定音频信号的至少一个样本的lp残差。ltp残差可以包括ltp残差并且lp残差可以包括上述lp残差如前所述,可以使用增益和音频信号的至少一个先前样本的lp残差(例如,例如,)来确定ltp预测例如,增益(例如,音调增益)可应用于音频信号的至少一个先前样本的lp残差,以生成ltp预测(例如,基于计算
[0146]
在框1006,过程1000包括使用短期线性预测(lp)滤波器确定重构音频信号的至少一个样本。重构音频信号可以包括重构话音信号、重构音乐信号和/或其他类型的重构音频信号。可以基于lp预测(例如,上述lp预测)和为音频信号的至少一个样本确定的lp残差(例如,上述lp残差)来确定重构音频信号的至少一个样本。
[0147]
在一些示例中,神经网络的一个或多个输入包括针对音频信号的至少一个样本的ltp预测(例如,)、针对音频信号的至少一个样本的lp预测(例如,)、由神经网络为音频信号的至少一个先前样本确定的先前ltp残差(例如,重构音频信号的至少一个先前样本(例如,),或其任何组合中的任何一个或多个。其他输入可以包括上述任何特征,例如特征441、特征541或本文描述的其他特征。
[0148]
在一些示例中,使用神经网络为音频信号的至少一个样本生成的ltp残差与音频信号的至少一个样本的ltp预测组合以生成音频信号的至少一个样本的lp残差。例如,如上文关于图5a所述,ltp残差可与ltp预测组合以生成lp残差在一些示例中,为音频信号的至少一个样本确定的lp残差与音频信号的至少一个样本的lp预测组合以确定重构音频信号的至少一个样本。例如,如上文关于图5a所述,将为音频信号的至少一个样本确定的lp残差与音频信号的至少一个样本的lp预测组合以确定重构音频信号的至少一个样本
[0149]
关于图10描述的上述示例可以单独使用或以任何组合使用。
[0150]
在一些示例中,过程900和1000可以由计算设备或装置执行,例如包括语音编解码系统300或本文所述的其他语音编解码系统的设备(例如,具有计算系统1100的设备)。在某些情况下,计算设备或装置可以包括一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机和/或被配置为执行过程900和1000的步骤的其他组件(多个)。在一些示例中,计算设备可以包括移动设备、桌面计算机、服务器计算机和/或服务器系统,或者其他类型的计算设备。计算设备的组件(例如,一个或多个输入设备、一个或多个输出设备、一个或多个处理器、一个或多个微处理器、一个或多个微型计算机和/或其他组件)可以在电路中实施。例如,组件可以包括和/或可以使用电子电路或其他电子硬件来实施,电子电路或其他电子硬件可以包括一个或多个可编程电子电路(例如微处理器、图形处理单元(gpu)、数字信号处理器(dsp)、中央处理单元(cpu),和/或其他合适的电子电路),和/或可包括和/或使用计算机软件、固件或其任何组合来实施,以执行本文所述的各种操作。计算设备还可以包括显示器和/或扬声器(作为输出设备的示例)、被配置为通信和/或接收数据的网络接口、被配置为通信语音数据的一个或多个接收
器、发送器和/或收发器(作为输入设备和/或输出设备的示例)。在一些示例中,网络接口、收发器和/或发送器可以被配置为传送基于互联网协议(ip)的数据或其他网络数据。
[0151]
过程900和1000被示为逻辑流程图,其操作表示可在硬件、计算机指令或其组合中实施的操作序列。在计算机指令的上下文中,该操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,该计算机可执行指令在由一个或多个处理器执行时执行所述操作。通常,计算机可执行指令包括执行特定功能或实施特定数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且可以以任何顺序和/或并行地组合任何数量的所描述的操作以实施该过程。
[0152]
此外,过程900和1000可以在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可以被实施为通过硬件或其组合在一个或多个处理器上共同执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)。如上所述,代码可以例如以包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读或机器可读存储介质上。计算机可读或机器可读存储介质可以是非暂时的。
[0153]
图11示出了可以实施本文描述的各种技术的计算系统1100的示例。例如,计算系统1100可以实施图3所示的语音编解码系统300或本文描述的任何其他语音编解码系统。计算系统1100的组件使用连接1105彼此通信。连接1105可以是经由总线的物理连接,或者是到处理器1110的直接连接,例如在芯片集架构中。连接1105也可以是虚拟连接、网络连接或逻辑连接。
[0154]
在一些实施例中,计算系统1100是分布式系统,其中本公开中描述的功能可以分布在数据中心、多个数据中心、对等网络等内。在一些实施例中,所描述的系统组件中的一个或多个表示许多此类组件,每个组件执行描述该组件的部分或全部功能。在一些实施例中,组件可以是物理设备或虚拟设备。
[0155]
示例系统1100包括至少一个处理单元(cpu或处理器)1110和连接1105,该连接将包括系统存储器1115(例如只读存储器(rom)1120和随机存取存储器(ram)1125)的各种系统组件耦合到处理器1110。计算系统1100可以包括高速存储器1112的高速缓存,高速存储器1112直接与处理器1110连接、靠近处理器1110或集成为处理器1110的一部分。在一些情况下,计算系统1100可以将数据从存储器1115和/或存储设备1130复制到高速缓存1112,以供处理器1110快速访问。以这种方式,高速缓存可以提供在等待数据时避免处理器1110延迟的性能增强。这些模块和其他模块可以控制或被配置为控制处理器1110以执行各种动作。其他计算设备存储器1115也可以使用。存储器1115可以包括具有不同性能特征的多个不同类型的存储器。
[0156]
处理器1110可以包括任何通用处理器和硬件服务或软件服务,例如存储在存储设备1130中的服务1 1132、服务2 1134和服务3 1136,其被配置为控制处理器1110以及其中软件指令被结合到实际处理器设计中的专用处理器。处理器1110基本上可以是包含多个核或处理器、总线、存储器控制器、高速缓存等的完全自包含的计算系统。多核处理器可以是对称的或不对称的。
[0157]
为了实现用户交互,计算系统1100包括输入设备1145,其可以表示任何数量的输入机制,例如用于语音的麦克风、用于手势或图形输入的触敏屏幕、键盘、鼠标、动作输入、语音等。计算系统1100还可以包括输出设备1135,其可以是本领域技术人员已知的多种输
出机制中的一个或多个,例如显示器、投影仪、电视机、扬声器设备等。在一些实例中,多模式系统可使用户能够提供多种类型的输入/输出以与计算系统1100通信。计算系统1100可以包括通信接口1140,其通常可以控制和管理用户输入和系统输出。通信接口可以经由有线和/或无线收发器执行或促进有线或无线通信的接收和/或传输,包括那些使用音频插孔/插头、麦克风插孔/插头、通用串行总线(usb)端口/插头、端口/插头、以太网端口/插头、光纤端口/插头、专有有线端口/插头、无线信号传输、低功耗(ble)无线信号传输、无线信号传输、射频识别(rfid)无线信号传输,近场通信(nfc)无线信号传输、专用短程通信(dsrc)无线信号传输、802.11wi-fi无线信号传输、无线局域网(wlan)信号传输、可见光通信(vlc)、全球微波接入互操作性(wimax)、红外(ir)通信无线信号传输、公共交换电话网(pstn)信号传输、综合业务数字网(isdn)信号传输、3g/4g/5g/lte蜂窝数据网无线信号传输、ad-hoc网络信号传输、无线电波信号传输、微波信号传输、红外信号传输、可见光信号传输、紫外光信号传输、沿电磁频谱的无线信号传输,或其某些组合。通信接口1140还可以包括一个或多个全球导航卫星系统(gnss)接收器或收发器,用于基于从与一个或多个gnss系统相关联的一个或多个卫星接收到一个或多个信号来确定计算系统1100的位置。gnss系统包括但不限于基于美国的全球定位系统(gps)、基于俄罗斯的全球导航卫星系统(glonass)、基于中国的北斗导航卫星系统(bds)和基于欧洲的伽利略gnss。对于在任何特定硬件配置上的操作没有限制,因此本文的基本特征可以容易地被替换为改进的硬件或固件配置,因为它们正在开发。
[0158]
存储设备1130可以是非易失性和/或非暂时性和/或计算机可读存储器设备,并且可以是硬盘或可以存储计算机可访问的数据的其他类型的计算机可读介质,例如磁盒式磁带、闪存卡、固态存储设备、数字多功能磁盘、盒式磁带、软盘、软盘、硬盘、磁带、磁条/条,任何其他磁存储介质、闪存、忆阻器存储器、任何其他固态存储器、光盘只读存储器(cd-rom)光盘、可重写光盘(cd)光盘、数字视盘(dvd)光盘、蓝光光盘、全息光盘、另一种光学介质、安全数字(sd)卡、微型安全数字(microsd)卡、卡、智能卡芯片、europay万事达卡和visa(emv)芯片、用户识别模块(sim)卡、迷你/微/纳/微微sim卡、另一集成电路(ic)芯片/卡、随机存取存储器(ram)、静态ram(sram)、动态ram(dram)、只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电擦除可编程只读存储器(eeprom)、闪存eprom(flasheprom)、高速缓存存储器(l1/l2/l3/l4/l5/l#)、电阻随机存取存储器(rram/reram)、相变存储器(pcm)、自旋转移转矩ram(stt-ram)、另一种存储芯片或盒式磁带,和/或其组合。
[0159]
存储设备1130可以包括软件服务(例如,服务1 1132、服务2 1134、和服务3 1136,和/或其他服务)、服务器、服务等,当定义这种软件的代码由处理器1110执行时,它使系统执行功能。在一些实施例中,执行特定功能的硬件服务可以包括存储在计算机可读介质中的软件组件,该软件组件与诸如处理器1110、连接1105、输出设备1135等必要的硬件组件相结合,以执行功能。
[0160]
术语“计算机可读介质”包括但不限于便携式或非便携式存储设备、光学存储设备和能够存储、包含或携带指令和/或数据的各种其他介质。计算机可读介质可以包括可以存储数据的非暂时性介质,并且不包括无线或通过有线连接传播的载波和/或暂时性电子信
号。非暂时性介质的示例可以包括但不限于磁盘或磁带,诸如光盘(cd)或数字通用磁盘(dvd)之类的光学存储介质、闪存、存储器或存储设备。计算机可读介质可以在其上存储有代码和/或机器可执行指令,这些指令可以表示过程、函数、子程序、程序、例程、子程序、模块、软件包、类或指令、数据结构或程序语句的任何组合。代码段可以通过传递和/或接收信息、数据、自变量、参数或存储器内容来耦合到另一代码段或硬件电路。可以通过任何合适的方式(包括内存共享、消息传递、令牌传递、网络发送等)传递、转发或发送信息、自变量、参数、数据等。
[0161]
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等的电缆或无线信号。然而,当提及时,非暂时性计算机可读存储介质明确地排除诸如能量,载波信号,电磁波和信号本身的介质。
[0162]
在上述描述中提供了具体细节,以提供对本文提供的实施例和示例的彻底理解。然而,本领域的普通技术人员将理解,可以在没有这些具体细节的情况下实践实施例。为了解释清楚起见,在某些情况下,本技术可以被呈现为包括单独的功能块,该单独的功能块包括以软件或硬件和软件的组合体现的方法来包括设备,设备组件,步骤或例程的功能块。除了图中所示和/或本文所述的组件之外,还可以使用其他组件。例如,电路、系统、网络、过程和其他组件可以以框图形式被示出为组件,以便不会在不必要的细节上使实施例模糊。在其他情况下,可以在没有不必要的细节的情况下示出已知的电路、过程、算法、结构和技术,以避免使实施例模糊。
[0163]
各个实施例可以在上面被描述为过程或方法,该过程和方法被描绘为流程图、流程图、数据流程图、结构图或框图。虽然流程图可以将操作描述为顺序过程,但许多操作可以并行或并发地执行。此外,可以重新安排操作顺序。过程在其操作完成时终止,但可能有其他步骤未包含在图中。过程可以对应于方法、函数、过程、子例程、子程序等。当过程对应于函数时,其终止可以对应于函数返回到调用函数或主函数。
[0164]
可以使用存储在计算机可读介质中或以其他方式从计算机可读介质中获得的计算机可执行指令来实施根据上述示例的过程和方法。这些指令可以包括,例如,使得或以其他方式配置通用计算机、专用计算机或处理设备以执行某一功能或功能组的指令和数据。可以通过网络访问使用的部分计算机资源。计算机可执行指令可以是例如二进制文件、中间格式指令(例如汇编语言、固件、源代码等)。可用于存储指令、所使用的信息,和/或在根据所述示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、闪存、设置有非易失性存储器的usb设备、网络存储设备等。
[0165]
根据这些公开实施过程和方法的设备可以包括硬件、软件、固件、中间件、微代码、硬件描述语言或其任何组合,并且可以采取各种形式因素的任何一种。当在软件、固件、中间件或微代码中实施时,执行必要任务的程序代码或代码段(例如,计算机程序产品)可以存储在计算机可读或机器可读介质中。处理器可以执行必要的任务。典型的形式因素示例包括膝上型计算机、智能手机、移动电话、平板计算机设备或其他小型个人计算机、个人数字助理、机架安装设备、独立设备等。本文描述的功能还可以体现在外围设备或插件卡中。通过进一步的示例,这种功能还可以在不同芯片之间的电路板上实施,或者在单个设备中执行的不同过程上实施。
[0166]
指令、用于传送此类指令的介质、用于执行该指令的计算资源以及用于支持此类
计算资源的其他结构是用于提供本公开中描述的功能的示例部件。
[0167]
在前述描述中,参考本技术的具体实施例来描述本技术的各个方面,但是本领域技术人员将认识到本技术不限于此。因此,虽然在此已经详细描述了本技术的说明性实施例,但是应当理解,本公开的概念可以以其他方式不同地体现和应用,并且所附权利要求旨在被解释为包括此类变型,除非受到现有技术的限制。可以单独地或联合地使用上述申请的各种特征和方面。此外,在不脱离本说明书更广泛的精神和范围的情况下,可以在本文所描述的那些环境和应用之外的任何数量的环境和应用中使用实施例。因此,说明书和附图被认为是说明性的而不是限制性的。为了说明的目的,以特定顺序描述了方法。应当理解,在替代实施例中,可以以与所描述的顺序不同的顺序来执行这些方法。
[0168]
普通技术人员将理解,本文中使用的小于(“《”)和大于(“》”)符号或术语可以分别替换为小于或等于(“≤”)和大于或等于(“≥”)符号,而不脱离本说明书的范围。
[0169]
在将组件描述为被“配置为”执行某些操作的情况下,可以例如通过设计电子电路或其他硬件来执行操作,通过编程可编程电子电路(例如微处理器,或其他合适的电子电路)来执行操作,或其任何组合来实现这种配置。
[0170]
短语“耦合到”是指物理上直接或间接连接到另一组件的任何组件,和/或与另一组件通信(例如,通过有线或无线连接连接到其它组件,和/或其他合适的通信接口)的任何组件。
[0171]
权利要求语言或其他语言列举的集合“中的至少一个”和/或集合中的“一个或多个”指示集合中的一个成员或集合中的多个成员(在任何组合中)满足该权利要求。例如,权利要求语言列举的“a和b中的至少一个”是指a、b或a和b。在另一示例中,权利要求语言列举的“a、b和c中的至少一个”是指a、b、c、或a和b、或a和c、或b和c、或a和b和c。语言集合“中的至少一个”和/或集合中的“一个或多个”不将集合限制为集合中列出的项目。例如,权利要求书语言列举的“a和b中的至少一个”可以表示a、b或a和b,并且可以另外包括a和b集合中未列出的项目。
[0172]
结合本文公开的示例描述的各种说明性逻辑块、模块、电路和算法步骤可以实施为电子硬件、计算机软件、固件或其组合。为了清楚地说明硬件和软件的这种可互换性,上面已经大体上就其功能性描述了各种说明性组件、块、模块、电路和步骤。这些功能是实现为硬件还是软件取决于施加在整个系统上的特定应用和设计约束。技术人员可以针对每个特定应用以不同的方式实施所描述的功能,但是这种实施方式决定不应被解释为导致偏离本技术的范围。
[0173]
本文所描述的技术还可以在电子硬件、计算机软件、固件或其任何组合中实施。这些技术可以在各种设备(例如通用计算机、无线通信设备手持机或具有多种用途的集成电路设备,包括在无线通信设备手持机和其他设备中的应用)中的任何一种中实施。描述为模块或组件的任何特征可以在集成逻辑设备中一起实施,或者单独地作为离散但可互操作的逻辑设备来实施。如果以软件实施,则这些技术可以至少部分地由计算机可读数据存储介质实现,该计算机可读数据存储介质包括程序代码,该程序代码包括在执行时执行上述方法、算法和/或操作中的一个或多个的指令。计算机可读数据存储介质可以形成计算机程序产品的一部分,计算机程序产品可以包括包装材料。计算机可读介质可包括存储器或数据存储介质,例如随机存取存储器(ram),例如同步动态随机存取存储器(sdram)、只读存储器
(rom)、非易失性随机存取存储器(nvram)、电可擦除可编程只读存储器(eeprom)、闪存、磁或光数据存储介质等。附加地或替代地,可以至少部分地由计算机可读通信介质来实现这些技术,该计算机可读通信介质以指令或数据结构的形式携带或传送程序代码,并且该程序代码可以由计算机(例如传播的信号或波)访问、读取和/或执行。
[0174]
该程序代码可由处理器执行,处理器可包括一个或多个处理器,例如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程逻辑阵列(fpga)或其他等效集成或离散逻辑电路。这样的处理器可以被配置成执行本公开中描述的任何技术。通用处理器可以是微处理器,但是在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以实施为计算设备的组合,例如,dsp和微处理器、多个微处理器的组合、一个或多个微处理器与dsp核心的结合、或任何其他这样的配置。因此,如本文所使用的术语“处理器”可指前述结构中的任何一个、前述结构的任何组合、或适于实施本文所述技术的任何其它结构或装置。
[0175]
本公开的说明性示例包括:
[0176]
示例1:一种用于重构一个或多个音频信号的装置,包括:存储器,被配置为存储音频数据;以及一个或多个处理器,在电路中实施并耦合到存储器,该一个或多个处理器被配置为:使用神经网络,基于对神经网络的一个或多个输入,生成音频信号的至少一个样本的残差信号,该残差信号被配置为激励长期预测滤波器和短期预测滤波器中的至少一个;以及使用长期预测滤波器和短期预测滤波器中的至少一个来确定重构音频信号的至少一个样本,该重构音频信号的至少一个样本是基于使用神经网络为音频信号的至少一个样本生成的残差信号来确定的。
[0177]
示例2:根据示例1的装置,其中长期预测滤波器是长期线性预测(ltp)滤波器。
[0178]
示例3:根据示例1或2中任一示例的设备,其中残差信号包括被配置为激励ltp滤波器的长期线性预测(ltp)残差。
[0179]
示例4:根据示例3的装置,其中一个或多个处理器被配置为:使用ltp滤波器确定音频信号的至少一个样本的线性预测(lp)残差,该音频信号的至少一个样本的lp残差是基于使用神经网络为音频信号的至少一个样本生成的ltp残差和使用增益和音频信号的至少一个先前样本的lp残差确定的音频信号的至少一个样本的ltp预测来确定的。
[0180]
示例5:根据示例4的装置,其中增益被应用于音频信号的至少一个先前样本的lp残差。
[0181]
示例6:根据示例4到5中任一示例的装置,其中短期预测滤波器是短期线性预测(lp)滤波器。
[0182]
示例7:根据示例6的装置,其中一个或多个处理器被配置为:使用短期lp滤波器来确定重构音频信号的至少一个样本,重构音频信号的至少一个样本是基于为音频信号的至少一个样本确定的lp预测和lp残差来确定的。
[0183]
示例8:根据示例1到7中任一示例的装置,其中,神经网络的一个或多个输入包括针对音频信号的至少一个样本的ltp预测、针对音频信号的至少一个样本的lp预测、由神经网络为音频信号的至少一个先前样本确定的先前ltp残差和重构音频信号的至少一个先前样本中的至少一个。
[0184]
示例9:根据示例4到8中任一示例的装置,其中将使用神经网络为音频信号的至少
一个样本生成的ltp残差与音频信号的至少一个样本的ltp预测组合以生成音频信号的至少一个样本的lp残差。
[0185]
示例10:根据示例4到9中任一示例的装置,其中为音频信号的至少一个样本确定的lp残差与音频信号的至少一个样本的lp预测组合以确定重构音频信号的至少一个样本。
[0186]
示例11:根据示例1到10中任一示例的装置,其中短期预测滤波器是短期线性预测(lp)滤波器。
[0187]
示例12:根据示例1到11中任一示例的装置,其中残差信号包括被配置为激励短期lp滤波器的线性预测(lp)残差。
[0188]
示例13:根据示例11到12中任一示例的装置,其中一个或多个处理器被配置为:使用所述短期lp滤波器确定音频信号的至少一个样本的长期线性预测(ltp)残差,至少一个样本的ltp残差是基于音频信号的至少一个样本的lp预测和使用神经网络生成的lp残差来确定的。
[0189]
示例14:根据示例11到13中任一示例的装置,其中长期预测滤波器是长期线性预测(ltp)滤波器。
[0190]
示例15:根据示例14的装置,其中一个或多个处理器被配置为:使用ltp滤波器确定重构音频信号的至少一个样本,重构音频信号的至少一个样本是基于音频信号的至少一个样本的ltp残差和使用增益和重构音频信号的至少一个先前样本确定的音频信号的至少一个样本的ltp预测来确定的。
[0191]
示例16:根据示例1到15中任一示例的装置,其中音频信号的至少一个样本包括单个样本。
[0192]
示例17:根据示例1至16中任一示例的装置,其中音频信号的至少一个样本包括多个样本。
[0193]
示例18:根据示例1到17中任一示例的装置,其中多个样本被包括在音频信号的帧中。
[0194]
示例19:根据示例1到18中任一示例的装置,其中音频信号包括话音信号,并且其中重构音频信号包括重构话音信号。
[0195]
示例20:一种重构一个或多个音频信号的方法,包括:使用神经网络,基于对神经网络的一个或多个输入,生成音频信号的至少一个样本的残差信号,该残差信号被配置为激励长期预测滤波器和短期预测滤波器中的至少一个;以及使用长期预测滤波器和短期预测滤波器中的至少一个来确定重构音频信号的至少一个样本,该重构音频信号的至少一个样本是基于使用神经网络为音频信号的至少一个样本生成的残差信号来确定的。
[0196]
示例21:根据示例20的方法,其中长期预测滤波器是长期线性预测(ltp)滤波器。
[0197]
示例22:根据示例20或21中任一示例的方法,其中残差信号包括被配置为激励ltp滤波器的长期线性预测(ltp)残差。
[0198]
示例23:根据示例22的方法,其中一个或多个处理器被配置为:使用ltp滤波器确定音频信号的至少一个样本的线性预测(lp)残差,该音频信号的至少一个样本的lp残差是基于使用神经网络为音频信号的至少一个样本生成的ltp残差和使用增益和音频信号的至少一个先前样本的lp残差确定的音频信号的至少一个样本的ltp预测来确定的。
[0199]
示例24:根据示例23的方法,其中增益被应用于音频信号的至少一个先前样本的
lp残差。
[0200]
示例25:根据示例23到24中任一示例的方法,其中短期预测滤波器是短期线性预测(lp)滤波器。
[0201]
示例26:根据示例25的方法,还包括使用短期lp滤波器确定重构音频信号的至少一个样本,重构音频信号的至少一个样本是基于为音频信号的至少一个样本确定的lp预测和lp残差来确定的。
[0202]
示例27:根据示例20到26中任一示例的方法,其中,神经网络的一个或多个输入包括针对音频信号的至少一个样本的ltp预测、针对音频信号的至少一个样本的lp预测、由神经网络为音频信号的至少一个先前样本确定的先前ltp残差和重构音频信号的至少一个先前样本中的至少一个。
[0203]
示例28:根据示例23到27中任一示例的方法,其中将使用神经网络为音频信号的至少一个样本生成的ltp残差与音频信号的至少一个样本的ltp预测组合以生成音频信号的至少一个样本的lp残差。
[0204]
示例29:根据示例23到28中任一示例的方法,其中为音频信号的至少一个样本确定的lp残差与音频信号的至少一个样本的lp预测组合以确定重构音频信号的至少一个样本。
[0205]
示例30:根据示例20到29中任一示例的方法,其中短期预测滤波器是短期线性预测(lp)滤波器。
[0206]
示例31:根据示例20到30中任一示例的方法,其中残差信号包括被配置为激励短期lp滤波器的线性预测(lp)残差。
[0207]
示例32:根据示例30到31中任一示例的方法,还包括使用短期lp滤波器确定音频信号的至少一个样本的长期线性预测(ltp)残差,至少一个样本的ltp残差是基于音频信号的至少一个样本的lp预测和使用神经网络生成的lp残差来确定的。
[0208]
示例33:根据示例30到32中任一示例的方法,其中长期预测滤波器是长期线性预测(ltp)滤波器。
[0209]
示例34:根据示例33的方法,还包括使用ltp滤波器确定重构音频信号的至少一个样本,重构音频信号的至少一个样本是基于音频信号的至少一个样本的ltp残差和使用增益和重构音频信号的至少一个先前样本确定的音频信号的至少一个样本的ltp预测来确定的。
[0210]
示例35:根据示例20到34中任一示例的方法,其中音频信号的至少一个样本包括单个样本。
[0211]
示例36:根据示例20至35中任一示例的方法,其中音频信号的至少一个样本包括多个样本。
[0212]
示例37:根据示例20到36中任一示例的方法,其中多个样本被包括在音频信号的帧中。
[0213]
示例38:根据示例20到37中任一示例的方法,其中音频信号包括话音信号,并且其中重构音频信号包括重构话音信号。
[0214]
在一些实施方式中,上述示例1-19和/或20-38可以使用存储指令的计算机可读存储介质来实施,该指令在执行时使得设备的一个或多个处理器执行各种操作中的一些或全
部。例如,可以提供一种存储指令的计算机可读存储介质,当执行这些指令时,使得用于解码视频数据的设备的一个或多个处理器:使用神经网络,基于对神经网络的一个或多个输入,生成音频信号的至少一个样本的残差信号,该残差信号被配置为激励长期预测滤波器和短期预测滤波器中的至少一个;以及使用长期预测滤波器和短期预测滤波器中的至少一个来确定重构音频信号的至少一个样本,该重构音频信号的至少一个样本是基于使用神经网络为音频信号的至少一个样本生成的残差信号来确定的。
[0215]
在一些实施方式中,上述示例1-19和/或20-38可以使用包括用于执行各种操作中的一些或全部的一个或多个部件的装置来实施。例如,可以提供一种用于重构一个或多个音频信号的装置,包括:用于使用神经网络,基于对神经网络的一个或多个输入,生成音频信号的至少一个样本的残差信号的部件,该残差信号被配置为激励长期预测滤波器和短期预测滤波器中的至少一个;以及用于使用长期预测滤波器和短期预测滤波器中的至少一个来确定重构音频信号的至少一个样本的部件,该重构音频信号的至少一个样本是基于使用神经网络为音频信号的至少一个样本生成的残差信号来确定的。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献