基于神经网络的音频编码方法及装置、编码器与流程
本发明涉及音频编码技术领域,尤其涉及一种基于神经网络的音频编码方法及装置、计算机可读存储介质、编码器、音频处理芯片及电子设备。
背景技术:
语音压缩编码技术是数字通信技术中非常重要的部分,随着多媒体信息技术和网络技术的飞速发展,人们可利用的信道资源越来越多,用尽量少的信道资源传输极可能多的信息,是现代数字通信的迫切要求,其中语音压缩编码技术显得尤为重要。
线性预测是进行语音信号分析最有效和最流行的分析技术之一,其能够在运算量相对不大的情况下较准确地表征语音信号的频率幅度,其已成为语音信号处理的一个强有力的工具和方法。
在线性预测过程中需要进行线性预测音频数据进行量化,在量化过程中需要的运算量比较大,且需要比较大的数据带宽,这大大限制了线性预测的应用范围,尤其是运算能力有限的应用场合。
技术实现要素:
基于上述现状,本发明的主要目的在于提供一种基于神经网络的音频编码方法及装置、计算机可读存储介质、编码器、音频处理芯片及电子设备,以解决现有音频编码方法存在的运算量大、数据带宽大的问题。
为实现上述目的,本发明采用的技术方案如下:
一种基于神经网络的音频编码方法,包括步骤:
s10、对原始音频数据进行预处理,得到预处理后的音频数据;
s20、对所述预处理后的音频数据进行运算处理得到线性预测音频数据;或对所述线性预测音频数据进行第一域变换后得到线谱对数据;或对所述线谱对数据进行第二域变换后得到线谱频率数据;
s30、将所述线性预测音频数据或者所述线谱对数据或者所述线谱频率数据作为输入数据,输入用于量化的神经网络模型,得到音频关联数据;其中,所述用于量化的神经网络模型被训练成能够利用所述输入数据经过运算输出音频关联数据,所述音频关联数据用于确定量化后的线谱频率数据;
s40、根据所述音频关联数据确定量化后的线谱频率数据;
s50、将所述量化后的线谱频率数据进行内插处理后经第三域变换得到量化后的线性预测音频数据;
s60、根据所述量化后的线性预测音频数据、未量化的所述线性预测音频数据以及所述预处理后的音频数据进行运算处理,得到音频编码数据。
优选地,所述步骤s40中,根据所述音频关联数据确定量化后的线谱频率数据包括步骤:
s41、根据所述音频关联数据查找第一数据库,得到与所述音频关联数据对应的量化数据,所述第一数据库包括所述音频关联数据与所述量化数据的映射;
s42、根据所述量化数据得到所述量化后的线谱频率数据,其中,所述量化后的线谱频率数据为所述量化数据本身,或者为利用所述量化数据进一步查找至少一个数据库并经计算得到。
优选地,所述线谱频率数据为16位数据,所述用于量化的神经网络模型为8位数据。
优选地,所述音频编码方法采用g729协议。
优选地,所述用于量化的神经网络模型的构建方法包括步骤:
s200、将标记音频关联数据的样本数据构建为训练样本,所述样本数据为线性预测音频数据、线谱对数据或线谱频率数据;
s300、将所述训练样本的样本数据输入初始神经网络模型,并将所述样本数据所标记的音频关联数据作为期望输出,训练所述初始神经网络模型,得到训练后的神经网络模型;
s400、对训练后的神经网络模型中的参数进行量化,得到所述用于量化的神经网络模型。
优选地,所述用于量化的神经网络模型的构建方法还包括所述步骤s200之前执行的步骤:
s110、获取原始音频数据;
s120、对所述原始音频数据进行预处理;
s130、对预处理后的音频数据进行加窗和自相关计算得到自相关数据;
s140、根据所述自相关数据计算得到所述线性预测音频数据;
s150、对所述线性预测音频数据进行第一域变换得到所述线谱对数据;
s160、对所述线谱对数据进行第二域变换得到所述线谱频率数据;
s170、对所述线谱频率数据进行量化得到对应的音频关联数据;
s180、将所述音频关联数据标记至所述线性预测音频数据、所述线谱对数据或所述线谱频率数据以形成所述标记音频关联数据的样本数据。
优选地,所述步骤s170中,利用第二数据库对所述线谱频率数据进行一级量化得到一级量化数据,利用第三数据库和第四数据库对所述一级量化数据进行二级量化得到二级量化数据,对所述二级量化数据进行重排和稳定性检查,得到量化后的线谱频率数据,对所述量化后的线谱频率数据标记音频关联数据,并利用标记有音频关联数据的所述量化后的线谱频率数据构建所述第一数据库,其中,所述第二数据库包括129个量化数据10维矢量数据库,所述第三数据库和所述第四数据库均为包括32个量化数据的5维矢量数据库。
优选地,利用第三数据库和第四数据库对所述一级量化数据进行二级量化得到二级量化数据的方法包括步骤:
s171、将所述一级量化数据与所述线谱频率数据做差得到差值数据;
s172、取所述差值数据的高维部分查找所述第三数据库得到所述二级量化数据的高维部分;
s173、取所述差值数据的低维部分查找所述第四数据库得到所述二级量化数据的低维部分。
优选地,所述初始神经网络模型为深度神经网络模型或卷积神经网络模型。
一种基于神经网络的音频编码装置,所述音频编码装置包括:
预处理模块,用于对原始音频数据进行预处理;
第一处理单元,用于对预处理后的音频数据运算处理得到线性预测音频数据,或对所述线性预测音频数据进行第一域变换后得到线谱对数据;或对所述线谱对数据进行第二域变换后得到线谱频率数据;
第二处理单元,存储有用于量化的神经网络模型,用于将所述线性预测音频数据或者所述线谱对数据或者所述线谱频率数据作为输入数据,输入所述用于量化的神经网络模型,得到音频关联数据;其中,所述用于量化的神经网络模型被训练成能够利用所述输入数据经过运算输出音频关联数据,所述音频关联数据用于确定量化后的线谱频率数据;
第三处理单元,用于根据所述音频关联数据确定量化后的线谱频率数据;
第四处理单元,用于将所述量化后的线谱频率数据进行内插处理后经第三域变换得到量化后的线性预测音频数据;
后处理模块,用于根据所述量化后的线性预测音频数据、未量化的所述线性预测音频数据以及预处理后的音频数据进行运算处理,得到音频编码数据。
优选地,所述音频编码装置还包括构建模块,用于构建所述用于量化的神经网络模型,所述构建模块包括:
训练样本构建单元,用于将标记音频关联数据的样本数据构建为训练样本,所述样本数据为线性预测音频数据、线谱对数据或线谱频率数据;
训练单元,用于将所述训练样本的样本数据输入初始神经网络模型,并将所述样本数据所标记的音频关联数据作为期望输出,训练所述初始神经网络模型,得到训练后的神经网络模型;
第一量化单元,用于对训练后的神经网络模型中的参数进行量化,得到所述用于量化的神经网络模型。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现如上所述的音频编码方法。
一种编码器,所述编码器采用如上所述的音频编码方法对音频数据进行编码。
一种音频处理芯片,所述音频处理芯片在进行音频编码时采用如上所述的音频编码方法。
一种电子设备,所述电子设备包括如上所述的计算机可读存储介质、或者如上所述的编码器、或者如上所述的音频处理芯片。
本发明提供的基于神经网络的音频编码方法中,在进行线性预测分析量化过程时,利用神经网络模型替换传统的量化运算,无需再与量化数据循环计算距离来确定音频关联数据,大大降低了运算量,另外,神经网络模型的大小比较灵活,可以根据具体的精度需求灵活调整神经网络的大小,以减少使用的数据带宽。
本发明的其他有益效果,将在具体实施方式中通过具体技术特征和技术方案的介绍来阐述,本领域技术人员通过这些技术特征和技术方案的介绍,应能理解所述技术特征和技术方案带来的有益技术效果。
附图说明
以下将参照附图对根据本发明的充电控制方法及装置、芯片、移动充电装置的优选实施方式进行描述。图中:
图1为根据本发明的一种优选实施方式的基于神经网络的音频编码方法的流程图;
图2为根据本发明的一种优选实施方式的用于量化的神经网络模型的构建方法流程图之一;
图3为根据本发明的一种优选实施方式的基于神经网络的音频编码装置的结构框图。
具体实施方式
针对现有音频编码方法存在的运算量大、数据带宽大的问题,申请人仔细研究了音频编码中的线性预测分析量化过程,发现线性预测分析量化过程中的一些步骤非常适于利用神经网络模型进行运算。
线性预测分析量化过程通常包括如下步骤:
s1、对预处理后的音频数据进行计算得到线性预测音频数据;
s2、将线性预测音频数据转化为线谱对数据;
s3、将线谱对数据转化为线谱频率数据;
s4、对线谱频率数据进行量化;
s5、对量化的线谱频率数据以及未进行量化的线谱对数据进行内插;
s6、将完成量化和内插的数据转化回线性预测音频数据。
其中,对预处理后的音频数据进行计算得到线性预测音频数据的过程例如为,对预处理后的数据进行加窗和自相关计算得到自相关数据,然后根据自相关数据计算得到线性预测音频数据,例如通过林文孙-杜宾算法计算得到线性预测音频数据。后续需要对线性预测音频数据进行量化和内插,为了量化和内插,需要将线性预测音频数据转化为线谱对数据,线谱对数据的量化可使用规格化的频率域[0,π]中的线谱频形式的ωi,即需要将线谱对数据转化为线谱频率数据进行量化,在完成量化和内插过程后,需要将数据再转回到线性预测音频数据,完成整个的线性预测分析量化过程。现有的线谱频率数据的量化过程为,对于每个线谱频率数据,均需要与所有的量化数据进行比较,得到最接近的量化数据,一方面,这种量化方式的运算量是非常大的,且需要比较大的数据带宽,另一方面,若系统支持的运算位数较少,则还存在溢出的问题,需要增加移位运算,例如,量化数据为16位数据时,若系统只支持32位运算,则运算过程中会出现溢出问题,从而进一步增加了运算量。
基于此,本发明提供了一种基于神经网络的音频编码方法,如图1所示,音频编码方法包括步骤:
s10、对原始音频数据进行预处理,得到预处理后的音频数据;
s20、对所述预处理后的音频数据进行运算处理得到线性预测音频数据;或对所述线性预测音频数据进行第一域变换后得到线谱对数据;或对所述线谱对数据进行第二域变换后得到线谱频率数据;
s30、将所述线性预测音频数据或者所述线谱对数据或者所述线谱频率数据作为输入数据,输入用于量化的神经网络模型,得到音频关联数据;其中,所述用于量化的神经网络模型被训练成能够利用所述输入数据经过运算输出音频关联数据,所述音频关联数据用于确定量化后的线谱频率数据;
s40、根据所述音频关联数据确定量化后的线谱频率数据;
s50、将所述量化后的线谱频率数据进行内插处理后经第三域变换得到量化后的线性预测音频数据;
s60、根据所述量化后的线性预测音频数据、未量化的所述线性预测音频数据以及所述预处理后的音频数据进行运算处理,得到音频编码数据。
如此,在进行线性预测分析量化过程时,利用神经网络模型替换传统的量化运算,大大降低了运算量,另外,神经网络模型的大小比较灵活,可以根据具体的精度需求灵活调整神经网络的大小,以减少使用的数据带宽。例如,线谱频率数据为16位数据,用于量化的神经网络模型为8位数据,这样设置则不需要考虑数据溢出的问题,从而进一步减少运算量。
其中,步骤s10中,通过对原始音频数据进行预处理,以便进行后续的线性预测分析量化过程,预处理过程与现有音频编码方法的预处理过程一致,例如包括信号定标和高通滤波,通过信号定标使得信号幅度减半,减小定点实现时的数据上溢概率,通过高通滤波滤除不希望的低频成分,经过预处理后的音频数据记为s(n)。
步骤s20中,对预处理后的音频数据进行运算得到线性预测音频数据的过程可以依据现有的编码协议执行,例如,首先对预处理后的音频数据进行加窗和自相关计算得到自相关数据,然后根据自相关数据计算得到线性预测音频数据,例如通过林文孙-杜宾算法计算得到线性预测音频数据。
下面给出运算过程的一个具体实施例:
(1)加窗
线性预测分析窗包括两部分:第一部分为半个汉明窗,第二部分为1/4余弦函数,通过如下公式表达:
在线性预测分析中有5ms的预视,这意味着要从下一个语音帧中抽取40个抽样,同时给编码器阶段引入额外的5ms的算法时延。如此,线性预测分析窗共有240个抽样,其中120个抽样属于前一帧,80个抽样属于当前帧,40个抽样属于后一帧。
经过加分析窗后所得的语音信号如下:
s′(n)=wlp(n)s(n),n=0,1,...239
(2)计算自相关数据
自相关数据r(k)通过如下公式计算:
为了避免低电平的输入信号导致某些算法问题,使r(0)有一下界r(0)=1.0,同时用下式与自相关数据相乘以扩展60hz的带宽。
其中f0=60hz是带宽扩展,fs=8khz是抽样频率,而且r(0)要乘以一个白噪声校正因子1.0001,相当于加了一个-40db的噪声门限,最后的自相关数据如下:
r′(0)=1.001r(0)
r′(k)=wlog(k)r(k)
(3)林文孙-杜宾算法
利用自相关数据计算得到线性预测音频数据ai,i=1,2,…,10的过程即为解下述方程组的过程:
该求解过程可通过林文孙-杜宾算法求解,具体使用如下递归方法:
其中,ki为反射系数。
现有技术中,要实现线性预测音频数据的量化,首先要进行数据的域变换过程,即按线性预测音频数据-线谱对数据-线谱频率数据进行转化,之后再通过对比计算得到最接近的量化数据,从而实现对线谱频率数据的量化。而本发明中,在步骤s30中,利用构建好映射关系的神经网络模型实现量化过程,大大缩减了运算量,且设置比较灵活。具体地,可以直接将线性预测音频数据作为用于量化的神经网络模型的输入数据,也可以是对线性预测音频数据进行第一域变换后得到的线谱对数据或者是对线谱对数据进行第二域变换后得到的线谱频率数据作为输入数据,神经网络模型中相应构建有线性预测音频数据、线谱对数据或者线谱频率数据与音频关联数据的映射关系,例如,当将线性预测音频数据作为输入数据时,用于量化的神经网络模型被训练成能够利用线性预测音频数据经过运算输出音频关联数据,训练的过程即构建线性预测音频数据与音频关联数据的映射关系的过程,训练完成后,当输入线性预测音频数据时,神经网络模型经过运算会输出与输入的线性预测音频数据对应的音频关联数据。将线谱对数据或者线谱频率数据作为输入数据时类似,不再赘述。
若将线谱对数据作为输入数据时,步骤s20还包括对线性预测音频数据进行第一域变换后得到线谱对数据,该变换过程与现有的音频编码方法中的变换过程一致。具体地,线谱对数据为下列和与差多项式的根。
f′1(z)=a(z)+z-11a(z-1)
f′2(z)=a(z)-z-11a(z-1)
多项式f′1(z)是对称的,f′2(z)是反对称的。能够分别证明这两个多项式的所有根都在单位圆上,且他们相互之间交替出现。f′1(z)有一个根在z=-1(ω=π),f′2(z)有一个根在z=1(ω=0)。如此,定义下述新的多项式可将这两个跟消去。
f1(z)=f′1(z)/(1+z-1)
f2(z)=f′2(z)/(1-z-1)
每一个多项式在单位圆上有5对共轭复根,因此多项式可以写为:
式中,qi即为线谱对数据。
由于两个多项式是对称的,每个多项式仅前面5个数据需要计算,可用下列递归关系得到:
f1(i+1)=ai+1+a10-i-f1(i),i=0,...,4
f2(i+1)=ai+1-a10-i+f2(i),i=1,...,4
式中f1(0)=f2(0)=1.0。
求解线谱对数据可以通过简化算法进行计算,在0和π之间等间隔的60个点是那个,估算多项式f1(z)和f2(z)使用z=ejm进行估算,能够写为:
f(ω)=2e-j5ωc(x)
式中,c(x)=t5(x)+f(1)t4(x)+f(2)t3(x)+f(3)t2(x)+f(4)t1(x)f(5)/2
式中,tm(x)=cos(mω)是m阶切比雪夫多项式,写f(i),i=1,…,5是每一个f1(z)或f2(z)的系数。多项式c(x)在x=cos(ω)的某些值上使用递归关系估算
fork=4downto1
bk=2xbk+1-bk+2+f(5-k)
end
c(x)-xb1-b2+f(5)/2
初始值b5=1,b6=0。
当然,可以理解的是,上述的第一域变换过程也可以为了减少运算量采用神经网络模型运算得到,例如,提供第一神经网络模型,第一神经网络模型被训练成能够利用线性预测音频数据作为输入数据经过运算输出线谱对数据。
若将线谱频率数据作为输入数据时,步骤s20还包括对线谱对数据进行第二域变换后得到线谱频率数据,该变换过程与现有的音频编码方法中的变换过程一致。具体地,通过下述公式进行第二域变换:
ωi=arccos(qi),i=1,...,10
其中的ωi为线谱频率数据,qi为线谱对数据。
当然,可以理解的是,上述的第二域变换过程也可以为了减少运算量采用神经网络模型运算得到,例如,提供第二神经网络模型,第二神经网络模型被训练成能够利用线谱对数据作为输入数据经过运算输出线谱频率数据。
步骤s40中,根据所述音频关联数据确定量化后的线谱频率数据包括步骤:
s41、根据所述音频关联数据查找第一数据库,得到与所述音频关联数据对应的量化数据,所述第一数据库包括所述音频关联数据与所述量化数据的映射;
s42、根据所述量化数据得到所述量化后的线谱频率数据,其中,所述量化后的线谱频率数据为所述量化数据本身,或者为利用所述量化数据进一步查找至少一个数据库并经计算得到。即,根据神经网络模型输出的音频关联数据确定量化后的线谱频率数据的方式取决于查找的第一数据库,在一个实施例中,在第一数据库中查到的量化数据即为量化后的线谱频率数据,在另一个实施例中,第一数据库采用的是现有编码过程中使用的数据库,则在查找到量化数据后,需要利用量化数据再进一步查找数据库并经计算得到量化后的线谱频率数据。
下面以g729协议为例对上述问题做具体说明。
g729协议的矢量量化算法是预测分裂矢量量化,采用二级矢量量化器量化,第一级量化使用包括128个量化数据的10维矢量数据库(下称第二数据库),第二级量化使用包含32个量化数据的两个5维矢量数据库(下称第三数据库和第四数据库),对线谱频率数据的量化过程如下:
利用第二数据库对所述线谱频率数据进行一级量化得到一级量化数据;
利用第三数据库和第四数据库对所述一级量化数据进行二级量化得到二级量化数据,具体地,将一级量化数据与线谱频率数据差值的高维部分(前五维)在第三数据库中进行搜索得到二级量化数据的高维部分(前五维),将一级量化数据与线谱频率数据差值的低维部分(后五维)在第四数据库中进行搜索得到二级量化数据的低维部分(后五维);
对所述二级量化数据进行重排和稳定性检查,得到量化后的线谱频率数据。
可以直接利用第二数据库作为前述的第一数据库,在这种情况下,根据神经网络模型输出的音频关联数据查找第一数据库得到的量化数据还需要进行后续的数据库查找过程(即前述的查找第三数据库和第四数据库)和计算过程(即前述的重排和稳定性检查)得到量化后的线谱频率数据。也可以重新构建第一数据库,使得根据神经网络模型输出的音频关联数据查找第一数据库得到的量化数据本身即为量化后的线谱频率数据。
步骤s50中,通过进行内插处理提高预测器密度,避免造成太大的失真,内插处理过程与现有编码方法中的处理过程一致,例如,经内插处理后的两子帧的量化后的线谱频率数据ωi由下式给出:
完成量化和差值后,需要将上述数据经第三域变换得到量化后的线性预测音频数据。该变换过程与现有的音频编码方法的变换过程一致。例如,首先根据如下公式将量化后的线谱频率数据变换为量化后的线谱对数据。
ωi=arccos(qi),i=1,...,10
然后利用下列递归关系式从qi求得f1(i)和f2(i)。
初始值为f1(0)=1,f1(-1)=0
f2(i)计算类似。
之后,f1(z)和f2(z)分别乘1+z-1和1-z-1得到f′1(z)和f′2(z),具体参见下述公式:
最后由下述公式计算得到量化后的线性预测音频数据:
步骤s60的后处理过程与现有的语音编码方法中的处理过程一致,例如,当采用g729协议时,后处理过程包括感知加权、开环音调分析、脉冲响应计算、目标信号计算、自适应数据库搜索、固定数据库搜索、增益量化和存储器的修正。
如图2所示,所述用于量化的神经网络模型的构建方法包括步骤:
s200、将标记音频关联数据的样本数据构建为训练样本,所述样本数据为线性预测音频数据、线谱对数据或线谱频率数据;
s300、将所述训练样本的样本数据输入初始神经网络模型,并将所述样本数据所标记的音频关联数据作为期望输出,训练所述初始神经网络模型,得到训练后的神经网络模型;
s400、对训练后的神经网络模型中的参数进行量化,得到所述用于量化的神经网络模型。
其中,步骤s200中的线性预测音频数据、线谱对数据、线谱频率数据可直接选用现成的数据库,或者在音频编码的历史数据中进行提取,优选地,收集不同语言、不同环境的语音数据,并按相应的音频编码协议进行数据运算得到线性预测音频数据、线谱对数据或线谱频率数据,例如,在一个具体的实施例中,包括在步骤s200之前执行的步骤:
s110、获取原始音频数据;
s120、对所述原始音频数据进行预处理;
s130、对预处理后的音频数据进行加窗和自相关计算得到自相关数据;
s140、根据所述自相关数据计算得到所述线性预测音频数据;
s150、对所述线性预测音频数据进行第一域变换得到所述线谱对数据;
s160、对所述线谱对数据进行第二域变换得到所述线谱频率数据;
s170、对所述线谱频率数据进行量化得到对应的音频关联数据;
s180、将所述音频关联数据标记至所述线性预测音频数据、所述线谱对数据或所述线谱频率数据以形成所述标记音频关联数据的样本数据。
初始神经网络模型可以选用深度神经网络模型或者卷积神经网络模型,例如,可以选用具有良好的特征提取和分类功能的卷积神经网络模型,在一个具体的实施例中,卷积神经网络模型包括输入层、第一卷积层、第二卷积层、全连接层和输出层,利用第一卷积层、第二卷积层能够对语音数据进行很好的特征提取,以利于全连接层进行分类并由输出层输出。第一卷积层例如可以使用10×5,第二卷基层例如可以使用5×128。
在前述的步骤s50中将量化数据本身作为量化后的线谱频率数据的实施例中,可在进行神经网络模型的训练过程的同时,进行第一数据库的构建,具体地,在步骤s170中,利用第二数据库对所述线谱频率数据进行一级量化得到一级量化数据,利用第三数据库和第四数据库对所述一级量化数据进行二级量化得到二级量化数据,其中,所述第二数据库为包括129个量化数据的10维矢量数据库,所述第三数据库和所述第四数据库均为包括32个量化数据的5维矢量数据库。
其中,利用第三数据库和第四数据库对所述一级量化数据进行二级量化得到二级量化数据的方法包括步骤:
s171、将所述一级量化数据与所述线谱频率数据做差得到差值数据;
s172、取所述差值数据的高维部分查找所述第三数据库得到所述二级量化数据的高维部分;
s173、取所述差值数据的低维部分查找所述第四数据库得到所述二级量化数据的低维部分。
对所述二级量化数据进行重排和稳定性检查,得到量化后的线谱频率数据,对所述量化后的线谱频率数据标记音频关联数据以形成样本数据,并利用标记有音频关联数据的所述量化后的线谱频率数据构建所述第一数据库。
本发明提供的音频编码方法可以采用任意需要执行前述的线性预测分析量化过程的音频编码协议,例如g729、g723、opus等。g729协议在8kbps的压缩率下具有很高的语音质量和很低的延迟,被广泛应用在数据通信的各个领域,但g729在线性预测分析量化过程中数据的运算量很大,因此非常适于采用本发明的编码方法。
本发明还提供了一种基于神经网络的音频编码装置,如图3所示,音频编码装置包括:
预处理模块10,用于对原始音频数据进行预处理;
第一处理单元20,用于对预处理后的音频数据运算处理得到线性预测音频数据,或对所述线性预测音频数据进行第一域变换后得到线谱对数据;或对所述线谱对数据进行第二域变换后得到线谱频率数据;
第二处理单元30,存储有所述用于量化的神经网络模型,用于将所述线性预测音频数据或者所述线谱对数据或者所述线谱频率数据作为输入数据,输入所述用于量化的神经网络模型,得到音频关联数据;其中,所述用于量化的神经网络模型被训练成能够利用所述输入数据经过运算输出音频关联数据,所述音频关联数据用于确定量化后的线谱频率数据;
第三处理单元40,用于根据所述音频关联数据确定量化后的线谱频率数据;
第四处理单元50,用于将所述量化后的线谱频率数据进行内插处理后经第三域变换得到量化后的线性预测音频数据;
后处理模块60,用于根据所述量化后的线性预测音频数据、未量化的所述线性预测音频数据以及预处理后的音频数据进行运算处理,得到音频编码数据。
如此,在进行线性预测分析量化过程时,利用神经网络模型替换传统的量化运算,大大降低了运算量,另外,神经网络模型的大小比较灵活,可以根据具体的精度需求灵活调整神经网络的大小,以减少使用的数据带宽。例如,线谱频率数据为16位数据,用于量化的神经网络模型为8位数据,这样设置则不需要考虑数据溢出的问题,从而进一步减少运算量。
本发明提供的音频编码装置可以采用任意需要执行前述的线性预测分析量化过程的音频编码协议,例如g729、g723、opus等。g729协议在8kbps的压缩率下具有很高的语音质量和很低的延迟,被广泛应用在数据通信的各个领域,但g729在线性预测分析量化过程中数据的运算量很大,因此非常适于采用本发明的编码装置。
进一步地,所述音频编码装置还包括构建模块,用于构建所述用于量化的神经网络模型,所述构建模块包括:
训练样本构建单元,用于将标记音频关联数据的样本数据构建为训练样本,所述样本数据为线性预测音频数据、线谱对数据或线谱频率数据;
训练单元,用于将所述训练样本的样本数据输入初始神经网络模型,并将所述样本数据所标记的音频关联数据作为期望输出,训练所述初始神经网络模型,得到训练后的神经网络模型;
量化单元,用于对训练后的神经网络模型中的参数进行量化,得到所述用于量化的神经网络模型。
初始神经网络模型可以选用深度神经网络模型或者卷积神经网络模型,例如,可以选用具有良好的特征提取和分类功能的卷积神经网络模型,在一个具体的实施例中,卷积神经网络模型包括输入层、第一卷积层、第二卷积层、全连接层和输出层,利用第一卷积层、第二卷积层能够对语音数据进行很好的特征提取,以利于全连接层进行分类并由输出层输出。第一卷积层例如可以使用10×5,第二卷基层例如可以使用5×128。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被执行时实现如上所述的音频编码方法。需要说明的是,本公开的实施例所述的计算机可读存储介质例如可以为电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
本发明还提供了一种编码器,编码器采用上述的音频编码方法对音频数据进行编码。编码器可以是硬件电路,也可以是软件。
本发明还提供了一种音频处理芯片,音频处理芯片在进行音频编码时采用上述的音频编码方法。
本发明还提供了一种电子设备,其具有语音编码功能,包括上述的计算机可读存储介质、或者包括上述的编码器、或者包括上述的音频处理芯片。电子设备例如可以是需要进行语音识别的设备、具有语音存储播放功能的设备等。
本领域的技术人员能够理解的是,在不冲突的前提下,上述各优选方案可以自由地组合、叠加。
应当理解,上述的实施方式仅是示例性的,而非限制性的,在不偏离本发明的基本原理的情况下,本领域的技术人员可以针对上述细节做出的各种明显的或等同的修改或替换,都将包含于本发明的权利要求范围内。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除