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

音频信号处理方法、训练方法及其装置、设备、存储介质与流程

2022-03-26 13:56:21 来源:中国专利 TAG:


1.本公开涉及数据处理技术领域,尤其涉及语音技术。


背景技术:

2.声学回声消除(aec,acoustic echo cancellation)是一种消除扬声器和麦克风之间声学回声的技术。声学回声是由于扬声器的声音多次反馈到麦克风引起的。aec作为语音识别的前端模块,在车载套件、音视频会议、智能家居等应用中是必不可少的。若缺少aec模块,在声学回声较大的场景下,语音识别基本瘫痪。


技术实现要素:

3.本公开提供了一种音频信号处理方法、训练方法及其装置、设备、存储介质。
4.根据本公开的一方面,提供了一种音频信号处理方法,包括:
5.从混合语音信号中消除至少部分的线性回声信号,得到中间处理信号;其中,所述混合语音信号是目标语音信号与回声信号混合后所得,所述回声信号是所述目标语音信号在所处环境下产生的,包括线性回声信号和非线性回声信号;
6.利用目标全卷积神经网络模型去除所述中间处理信号中的非线性回声信号和残留的线性回声信号,得到近似目标语音信号,其中,所述目标全卷积神经网络模型包括至少两层卷积层。
7.根据本公开的另一方面,提供了一种模型训练方法,包括:
8.获取对混合语音信号中的至少部分的线性回声信号进行消除处理后所得到的中间处理信号;其中,所述混合语音信号是总样本目标语音信号与回声信号进行混合后所得;所述回声信号包括线性回声信号和非线性回声信号;
9.至少将所述中间处理信号作为训练语音信号;
10.将所述训练语音信号输入至预设全卷积神经网络模型进行模型训练,得到目标全卷积神经网络模型,其中,所述预设全卷积神经网络模型包括至少两个卷积层;所述目标全卷积神经网络模型能够去除所述中间处理信号中的非线性回声信号和残留的线性回声信号。
11.根据本公开的再一方面,提供了一种音频信号处理装置,包括:
12.线性回声处理单元,用于从混合语音信号中消除至少部分的线性回声信号,得到中间处理信号;其中,所述混合语音信号是目标语音信号与回声信号混合后所得,所述回声信号是所述目标语音信号在所处环境下产生的,包括线性回声信号和非线性回声信号;
13.神经网络处理单元,用于利用目标全卷积神经网络模型去除所述中间处理信号中的非线性回声信号和残留的线性回声信号,得到近似目标语音信号,其中,所述目标全卷积神经网络模型包括至少两层卷积层。
14.根据本公开的再一方面,提供了一种模型训练装置,包括:
15.数据获取单元,用于获取对混合语音信号中的至少部分的线性回声信号进行消除
处理后所得到的中间处理信号;其中,所述混合语音信号是总样本目标语音信号与回声信号进行混合后所得;所述回声信号包括线性回声信号和非线性回声信号;
16.训练数据确定单元,用于至少将所述中间处理信号作为训练语音信号;
17.模型优化单元,用于将所述训练语音信号输入至预设全卷积神经网络模型进行模型训练,得到目标全卷积神经网络模型,其中,所述预设全卷积神经网络模型包括至少两个卷积层;所述目标全卷积神经网络模型能够去除所述中间处理信号中的非线性回声信号和残留的线性回声信号。
18.根据本公开的再一方面,提供了一种电子设备,包括:
19.至少一个处理器;以及
20.与所述至少一个处理器通信连接的存储器;其中,
21.所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行以上所述的方法。
22.根据本公开的再一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行以上所述的方法。
23.根据本公开的再一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现以上所述的方法。
24.这样,本公开方案能够对混合语音信号中的线性回声信号和非线性回声信号进行最大化消除,为后续有效进行语音识别奠定了基础。
25.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
26.附图用于更好地理解本方案,不构成对本公开的限定。其中:
27.图1(a)和图1(b)是根据本公开实施例aec方案在一具体场景下的实现原理示意图;
28.图2是根据本公开实施例音频信号处理方法的实现流程示意图;
29.图3是根据本公开实施例在一具体示例中卷积处理的对比示意图;
30.图4(a)和图4(b)是根据本公开实施例音频信号处理方法在一具体示例中的处理流程示意图;
31.图5是根据本公开实施例模型训练方法的实现流程示意图;
32.图6(a)和图6(b)是根据本公开实施例模型训练方法在一具体示例中的处理流程示意图;
33.图7是根据本公开实施例音频信号处理装置的结构示意图;
34.图8是根据本公开实施例模型训练装置的结构示意图;
35.图9是用来实现本公开实施例的音频信号处理方法或模型训练方法的电子设备的框图。
具体实施方式
36.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种
细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
37.以家居场景下的智能音箱为例,智能音箱播放音频的同时,用户对智能音箱发出语音指令,此时智能音箱的麦克风收录到的音频为混合音频,即混合了回声(比如智能音箱播放的音频多次反馈到麦克风)与语音指令,此时,若缺少aec模块,则智能音箱由于回声的影响无法识别到语音指令,导致用户的语音指令无法响应,必然影响了使用体验。
38.aec方案一般通过麦克风收录的混合信号(也即混合语音信号)以及扬声器播放出的信号(远端信号)来估计出回声信号,从而将混合信号中的回声信号消除。本公开方案所述的aec方案主要分为线性方案和非线性方案。即本公开方案旨在结合线性方案与非线性方案,提出一种两级aec方案,如此,达到了同时消除线性回声(也即线性回声信号)与非线性回声(也即非线性回声信号)的效果,提升了语音识别准确率,而且,本公开方案还具有场景泛化能力,在极端场景下也具有稳定的性能。另外,本公开方案还能大大节省人力、时间和运算等资源。
39.这里,首先对本公开方案所述的aec方案做详细说明;这里,首先对传递函数进行介绍,具体地,远端信号反馈到麦克风的过程,在aec方案中称为实际回声传输路径的传递函数。估计出这个传递函数就能够估计出回声信号。该传递函数不是一个单纯的线性函数,还包含了非线性的部分。基于此,aec方案问题的定义,如图1(a)所示:
40.麦克风接收的信号y(n)(该y(n)即为混合语音信号)是由近端语音信号(也即目标语音信号,比如,对应识别场景而言,该目标语音信号为用户发出的语音指令)s(n)和回声信号d(n)组成,回声信号d(n)是由远端信号x(n)与实际回声传输路径的传递函数h(n)卷积产生的;基于此,并结合下述公式(1)和公式(2),aec方案的目标是通过使用混合语音信号y(n)和远端信号x(n)估计出h(n),最终得到消除回声后的近似目标语音信号其中,公式(1)和公式(2)分别为:
41.d(n)=x(n)*h(n)
ꢀꢀꢀꢀꢀꢀ
公式(1);
42.y(n)=d(n) s(n)
ꢀꢀꢀꢀꢀꢀꢀ
公式(2)。
43.进一步地,结合图1(b)可知,声学回声(也即回声信号)是由扬声器的声音多次反馈到麦克风所引起的,包含了线性部分(也即线性回声信号,可简称线性回声)与非线性部分(也即非线性回声信号,可简称非线性回声)。线性回声信号主要是扬声器播放的音频在房间内的反射被麦克风收录;非线性回声信号则为放大器造成的失真以及扬声器播放的音频在容器内部造成的机械振动反馈到麦克风引起的。
44.基于此,本公开方案提供了一种对以上所述的回声信号进行两级消除的方案,具体地,提供了一种音频信号处理方法,如图2所示,包括:
45.步骤s201:从混合语音信号中消除至少部分的线性回声信号,得到中间处理信号;其中,所述混合语音信号是目标语音信号与回声信号混合后所得,所述回声信号是所述目标语音信号在所处环境下产生的,包括线性回声信号和非线性回声信号。在一具体示例中,所述回声信号是图1(b)所指的声学回声。进一步地,是图1(a)所示的远端信号所产生的。
46.步骤s202:利用目标全卷积神经网络模型去除所述中间处理信号中的非线性回声信号和残留的线性回声信号,得到近似目标语音信号,其中,所述目标全卷积神经网络模型
包括至少两层卷积层。
47.这样,本公开方案在进行部分的线性回声信号消除后,结合目标全卷积神经网络模型对部分线性回声信号消除后得到的中间处理信号中的非线性回声信号和残留的线性回声信号进行再次消除,如此,得到近似目标语音信号,进而实现了回声信号的有效消除,同时,也避免了由于回声而导致无法有效识别的问题。
48.而且,由于本公开方案实现了线性回声信号和非线性回声信号的有效消除,而且,还采用了目标全卷积神经网络模型,所以,本公开方案具有较强的场景泛化能力,在极端场景下也具有稳定的性能。同时,本公开方案还能大大节省人力、时间和运算等资源。
49.另外,本公开方案所述的目标全卷积神经网络模型主要使用了卷积层,所以,相比于现有其他方案而言,本公开方案对推理所使用的音频(比如混合语音数据)不作任何时长限制,而且,在处理过程中,也无需做任何重置操作等,简单且高效。
50.在本公开方案的一具体示例中,在得到近似目标语音信号后,还可以对所述近似目标语音信号进行语音识别,得到所述目标语音信号所指示的控制指令(也即语音指令),进而响应所述控制指令。
51.这样,由于本公开方案对线性语音信号以及非线性语音信号进行了有效消除,所以,大幅提升了语音识别的准确率;进而确保了用户体验,同时,也提升了用户体验。而且,由于本公开方案能够大幅提升语音识别的准确率,所以,使得应用本公开方案的产品,比如智能音箱的应用场景不受限制,因此,本公开方案也拓宽了相应产品的应用范围。
52.在本公开方案的一具体示例中,所述目标全卷积神经网络模型中存在处理参数不同的至少两个卷积层;其中,所述卷积层的处理参数为以下参数中的至少一种:通道数,卷积核。也就是说,所述目标全卷积神经网络模型中存在至少两个卷积层,该至少两个卷积层的处理参数不同,换言之,所述目标全卷积神经网络模型中卷积层的处理参数不完全相同,如此,实现多尺度卷积,并使卷积层拥有不同大小的感受野,进而提取到不同的特征,为提升场景泛化能力、提升方案的稳定性奠定基础。
53.在本公开方案的一具体示例中,所述目标全卷积神经网络模型所包含的卷积层的通道数具有如下之一趋势:递增趋势、递减趋势,先递增后递减的趋势。也就是说,所述目标全卷积神经网络模型中第一层卷积层、第二层卷积层、至第m层卷积层的通道数,呈递增趋势(如倒金字塔结构),或者呈递减趋势(如金字塔结构),或者呈先递增后递减的趋势。这里,所述m为大于等于2的整数,如此,实现多尺度卷积,使卷积层拥有不同大小的感受野,进而提取到不同的特征,为提升场景泛化能力、提升方案的稳定性奠定基础。
54.在本公开方案的一具体示例中,以上所述的利用目标全卷积神经网络模型去除所述中间处理信号中的非线性回声信号和残留的线性回声信号,可以具体包括:
55.将所述中间处理信号输入至所述目标全卷积神经网络模型;或者,将所述中间处理信号的音频特征输入至所述目标全卷积神经网络模型;
56.其中,所述目标全卷积神经网络模型中的所述卷积层能够对所述中间处理信号中的音频帧进行卷积处理,并去除所述中间处理信号中的非线性回声信号和残留的线性回声信号。
57.也就是说,本公开方案可以直接将中间处理信号输入至所述目标全卷积神经网络模型,或者,还可以将中间处理信号的音频特征输入至所述目标全卷积神经网络模型,如
此,提供了更加灵活的处理方式。而且,由于充分利用了所述目标全卷积神经网络模型的卷积层对中间处理信号中的非线性回声信号和残留的线性回声信号进行再次消除,并得到近似目标语音信号,所以,实现了回声信号的有效消除,同时,也避免了由于回声而导致无法有效识别的问题。而且,本公开方案也具有较强的场景泛化能力,在极端场景下也具有稳定的性能。同时,本公开方案还能大大节省人力、时间和运算等资源。
58.在本公开方案的一具体示例中,所述卷积层在时间维度上进行卷积处理的音频帧包括:
59.第t时刻的第t音频帧、第t-1时刻的第t-1音频帧、至第t-n时刻的第t-n音频帧;
60.所述n与所述卷积层的卷积核在时间维度上的核特征相关,所述n为大于等于1的整数;所述t为大于等于1的整数;所述第t时刻为当前时刻。举例来说,所述n=卷积核在时间维度上的核数-1。举例来说,卷积核在时间维度上的核数为3,此时,n即为2。
61.需要说明的是,实际应用中,所述目标全卷积神经网络模型中的所有卷积层均可以采用上述方式来处理音频帧,或者,至少其中一层采用上述方式来处理音频帧。
62.这样,使得本公开方案每层卷积层在进行卷积处理时不依赖于未来时刻的音频帧即可正常处理并发挥正常性能,即在对第t时刻(也即当前时刻)的第t音频帧进行卷积处理时,依赖的是第t-1时刻的第t-1音频帧、至第t-n时刻的第t-n音频帧,而不依赖第t 1时刻(也即当前时刻的未来时刻)的第t 1音频帧,所以,卷积处理过程中实现了零延迟。
63.举例来说,如图3所示,t时刻为当前时刻,假设时间维度上的卷积核(kernel)为3,此时,如图3左边所示方案,当前时刻的卷积处理,依赖第t-1时刻和第t 1时刻的音频帧,所以,无法实现零延迟。而本公开方案采用的如图3右边所示方案,当前时刻的卷积处理,依赖的是第t-1时刻、第t-2时刻以及当前时刻(也即第t时刻)的音频帧,而不依赖于第t 1时刻的音频帧,所以,本公开方案卷积处理过程中实现了零延迟。
64.在本公开方案的一具体示例中,当t取值为1时,第1音频帧表征所述中间处理信号中的首个音频帧;第0音频帧至第1-n音频帧为预设帧;也就是说,为确保卷积处理过程中的零延迟,对于首个音频帧为当前时刻的音频帧而言,也即卷积层对首个音频帧进行卷积处理前,由于该首个音频帧之前未有其他音频帧,所以,为了确保卷积处理的正常进行,需要补入n个预设帧,使补入的预设帧与当前时刻的音频帧进行卷积处理,以确保卷积层卷积处理的正常运行。在一具体示例中,所述预设帧可以为零。
65.进一步地,所述方法还包括:
66.将n个预设帧设置于所述中间处理信号中首个音频帧之前,更新所述中间处理信号,使更新后的中间处理信号的前n帧为预设帧。
67.如此,确保卷积层卷积处理的正常运行,同时,使得卷积结果只依赖了历史时刻以及当前时刻,而不依赖未来时刻,实现了零延时。
68.需要说明的是,实际应用中,输入至目标全卷积神经网络模型的中间处理信号为更新后的信号,换言之,输入至目标全卷积神经网络模型的中间处理信号为按上述方式设置有n个预设帧的中间处理信号,举例来说,将更新后的中间处理信号直接输入至目标全卷积神经网络模型,或者,将更新后的中间处理信号的音频特征输入至目标全卷积神经网络模型,如此,确保卷积处理过程中不依赖未来时刻,进而实现零延迟。
69.需要说明的是,实际应用中,在每层卷积层进行卷积处理前,均需要按照上述方式
预先设置n个预设帧,如此,来确保卷积层卷积处理的正常运行,同时,使得卷积结果只依赖了历史时刻以及当前时刻,而不依赖未来时刻,实现了零延时。
70.在一具体示例中,本公开方案所述的卷积层可以具体为mobilenet结构,如此,通过mobilenet实现分组卷积,这样,在保证特征提取能力的同时,大大降低了参数量。
71.需要说明的是,本公开方案所述的目标全卷积神经网络模型为以下所述模型训练方法训练所得,该目标全卷积神经网络模型的训练过程可参照如下内容,此处不再赘述。
72.在本公开方案的一具体示例中,可以采用如下方式进行线性回声信号的消除,具体地,以上所述的从混合语音信号中消除至少部分的线性回声信号,得到中间处理信号,具体包括:估计得到所述混合语音信号所处环境下的近似线性回声信号;从所述混合语音信号中消除估计得到的所述近似线性回声信号,得到所述中间处理信号。
73.这样,通过估计出近似线性回声信号的方式,来最大化消除回声信号中的线性部分,为后续最大化消除回声信号奠定了基础,同时,也为后续提升识别准备率奠定了基础。而且,由于本公开方案估计出的近似线性回声信号为混合语音信号所处环境下的线性回声信号,所以,使得本公开方案的线性方案能够自适应当前环境,具有很强的泛化能力。
74.在本公开方案的一具体示例中,可以采用如下方式来估计出近似线性回声信号,具体地,以上所述的估计得到所述混合语音信号所处环境下的近似线性回声信号,具体包括:将所述混合语音信号和用于产生所述回声信号的远端信号输入至线性回声模型(比如集成有自适应算法的自适应线性滤波器)中,得到近似线性回声信号。这里,所述线性回声模型能够基于当前输入的所述混合语音信号和用于产生所述回声信号的远端信号实时进行参数优化,并使参数优化至最优值,该最优值即与当前混合语音信号所在环境相匹配。
75.举例来说,实际应用中,所述线性回声模型能够基于当前获取到的混合语音信号和远端信号,对自身的参数进行实时优化,比如,一条p帧的混合语音信号和远端信号而言,前p帧用来调整参数,调整后使参数达到稳定状态,即使参数调整至最优值,后p-p帧的时候,基于稳定的参数(也即最优值)来处理后p-p帧的音频。换言之,该线性回声模型能够基于当前输入的语音信号进行参数的及时调整和更新,并达到稳定状态,如此,来匹配当前场景,显然提升了该线性回声模型的泛化能力。
76.这里,结合图4(a)和图4(b)对线性方案做进一步详细说明,具体地,线性方案使用线性滤波器(也即自适应线性滤波器,也即自适应滤波器)估计出一个线性传递函数,远端信号经过该线性传递函数处理后即可估计得到的近似线性回声信号。
77.具体地,本公开方案所述的线性回声模型(也即线性模块)使用线性自适应滤波算法(简称自适应算法)调整自适应滤波器的权值(也即参数的参数值),进而在参数达到最优值后估计出一个近似的回声路径,来逼近真实回声路径,从而估计得到近似线性回声信号,并在混合语音信号中除去该估计得到的近似线性回声信号,如此,最大化消除线性回声信号,具体地,模型训练的原理如图4(a)和图4(b)所示:
78.远端信号x(n)通过自适应滤波器(图4(a)和图4(b)中简称为滤波器)(为线性传递函数)估计得到近似线性回声信号将混合语音信号y(n)减去该近似线性回声信号后得到误差信号e(n);具体公式如下:
[0079][0080][0081]
这里,通过最小化误差信号的方式,即可对自适应滤波器中的参数进行调整优化,如此,使得自适应滤波器估计得到的近似线性回声信号越发接近于实际的回声路径。
[0082]
需要说明的是,混合语音信号y(n)=回声信号d(n) 目标语音信号s(n),基于此,公式(4)可以具体表达为:
[0083][0084]
这里,目标语音信号s(n)可理解为是常数,比如,在s(n)=0时,基于公式(5)可知,最小化e(n),即相当于最小化如此,来使得自适应滤波器估计出的近似线性回声信号最大化贴近于真实线性回声路径。
[0085]
在一具体示例中,按照不同的优化准则,本公开方案所述的线性自适应滤波算法可以采用如下任一方式:递推最小二乘算法(rls),最小均方误差算法(lms),归一化均方误差算法(nlms)等。
[0086]
如此,使得线性消除方案也具有泛化能力,进而最大化消除混合语音信号中的线性回声部分,为在任何场景下均能够保证回声消除性能奠定了基础。而且,本公开方案所述的线性方案,相比于传统参数固定的滤波器而言,能够随环境发生变化而自适应调整,所以,相较于现有参数固定的滤波器而言,本公开方案中线性方案同样具有很强的泛化能力。
[0087]
这样,本公开方案采用了两级aec方式,即采用线性模块消除部分线性回声信号,剩下的非线性回声信号以及线性回声信号的残余部分由神经网络模块(也即目标全卷积神经网络模型)进行消除处理。而且,线性模块也采用了自适应算法,线性模块与神经网络模块串联,如此,使得本公开方案的串联且结合了线性aec与神经网络aec的优势,保证了对线性回声和非线性回声的消除量的同时,还具有很强的泛化能力,打破了场景的局限。
[0088]
本公开方案还提供了一种模型训练方法,具体地,如图5所示,所述方法包括:
[0089]
步骤s501:获取对混合语音信号中的至少部分的线性回声信号进行消除处理后所得到的中间处理信号;其中,所述混合语音信号是总样本目标语音信号与回声信号进行混合后所得,所述回声信号包括线性回声信号和非线性回声信号。
[0090]
可以理解的是,此处的回声信号与以上所述的音频信号处理方法中所提及的回声信号的产生原理相同,只是在模型训练过程中,本示例所述回声信号可以是模拟总样本目标语音信号所在环境下所产生的回声信号。比如,该示例中模拟得到的所述回声信号是图1(b)所指的声学回声。进一步地,是模拟图1(a)所示的远端信号所产生的。
[0091]
步骤s502:至少将所述中间处理信号作为训练语音信号。
[0092]
步骤s503:将所述训练语音信号输入至预设全卷积神经网络模型进行模型训练,得到目标全卷积神经网络模型,其中,所述预设全卷积神经网络模型包括至少两个卷积层。
[0093]
这里,训练完成后所得到的所述目标全卷积神经网络模型能够去除所述中间处理信号中的非线性回声信号和残留的线性回声信号。
[0094]
这样,本公开方案在模型训练的过程中,采用线性方案消除部分线性回声信号后的中间处理信号作为训练数据,如此,为得到能够最大化消除回声的目标全卷积神经网络
模型奠定了基础。而且,本公开方案所训练的预设全卷积神经网络模型主要使用了卷积层,所以,相比于现有其他方案而言,本公开方案对训练所使用的音频不作限制,而且,在处理过程中,也无需做任何重置操作等,简单且高效。
[0095]
在本公开方案的一具体示例中,还可以采用如下方式得到训练过程中所使用的混合语音信号,即对多个样本目标语音信号(也即多个语音指令作为样本)进行拼接处理,得到总样本目标语音信号;将所述总样本目标语音信号与所述回声信号进行混合,得到所述混合语音信号。这里,考虑到线性模块的滤波器系数更新需要几秒钟才可以稳定,这样,若要确保训练所使用的数据的准确性,不受滤波器系数更新的影响,需要控制训练音频足够长,否则,后续的神经网络模块将无法获取到线性模块在正常性能下输出的音频,而最终造成训练与真实使用的不匹配问题。因此,为充分确保性能的稳定性以及训练结果的精准性,本公开方案将多条样本音频(也即样本目标语音信号)进行拼接,以确保线性模块的正常输出,为提升模型训练的精确性奠定了基础。
[0096]
在本公开方案的一具体示例中,可以采用如下方式进行线性回声信号的消除进而得到模型训练所需要的中间处理信号,具体包括:估计得到所述混合语音信号所处环境下的近似线性回声信号;从所述混合语音信号中消除估计得到的所述近似线性回声信号,得到所述中间处理信号,进而将消除部分线性回声信号后所得到的中间处理信号作为训练数据(也即训练语音信号)。
[0097]
这样,通过估计出近似线性回声信号的方式,来最大化消除回声信号中的线性部分,为预设全卷积神经网络模型提供了训练数据,同时,为最大化消除回声信号奠定了基础。而且,由于本公开方案估计出的近似线性回声信号为混合语音信号所处环境下的线性回声信号,所以,使得本公开方案线性方案也能够自适应当前环境,具有很强的泛化能力,进而为进一步提升训练得到的目标全卷积神经网络模型的泛化能力也奠定了基础。
[0098]
在本公开方案的一具体示例中,可以采用如下方式来估计出近似线性回声信号,具体地,以上所述的估计得到所述混合语音信号所处环境下的近似线性回声信号,具体包括:将所述混合语音信号和用于产生所述回声信号的远端信号输入至线性回声模型(比如集成有自适应算法的自适应线性滤波器)中中,得到近似线性回声信号。这里,所述线性回声模型能够基于当前输入的所述混合语音信号和用于产生所述回声信号的远端信号实时进行参数优化,并使参数优化至最优值,该最优值即与当前混合语音信号所在环境相匹配。
[0099]
需要说明的是,本公开方案所述的模型训练方法所使用的中间处理信号是线性模块(也即线性回声模型)的输出结果。
[0100]
举例来说,实际应用中,所述线性回声模型能够基于当前获取到的混合语音信号和远端信号,对自身的参数进行实时优化,比如,一条p帧的混合语音信号和远端信号而言,前p帧用来调整参数,调整后使参数达到稳定状态,即使参数调整至最优值,后p-p帧的时候,基于稳定的参数(也即最优值)来处理后p-p帧的音频。换言之,该线性回声模型能够基于当前输入的语音信号进行参数的及时调整和更新,并达到稳定状态,如此,来匹配当前场景,显然提升了该线性回声模型的泛化能力。
[0101]
这里,结合图4(a)和图4(b)对线性方案做进一步详细说明,具体地,线性方案使用线性滤波器(也即自适应线性滤波器,也即自适应滤波器)估计出一个线性传递函数,远端信号经过该线性传递函数处理后即可估计得到的近似线性回声信号。
[0102]
具体地,本公开方案所述的线性回声模型(也即线性模块)使用线性自适应滤波算法(简称自适应算法)调整自适应滤波器的权值(也即参数的参数值),进而在参数达到最优值后估计出一个近似的回声路径,来逼近真实回声路径,从而估计得到近似线性回声信号,并在混合语音信号中除去该估计得到的近似线性回声信号,如此,最大化消除线性回声信号,具体地,模型训练的原理如图4(a)和图4(b)所示:
[0103]
远端信号x(n)通过自适应滤波器(图4(a)和图4(b)中简称为滤波器)(为线性传递函数)估计得到近似线性回声信号将混合语音信号y(n)减去该近似线性回声信号后得到误差信号e(n);具体公式如下:
[0104][0105][0106]
这里,通过最小化误差信号的方式,即可对自适应滤波器中的参数进行调整优化,如此,使得自适应滤波器估计得到的样本近似线性回声信号越发接近于实际的回声路径。
[0107]
需要说明的是,混合语音信号y(n)=回声信号d(n) 目标语音信号s(n),基于此,公式(4)可以具体表达为:
[0108][0109]
这里,目标语音信号s(n)可理解为是常数,比如,在s(n)=0时,基于公式(5)可知,最小化e(n),即相当于最小化如此,来使得自适应滤波器估计出的近似线性回声信号最大化贴近于真实线性回声路径。
[0110]
在一具体示例中,按照不同的优化准则,本公开方案所述的线性自适应滤波算法可以采用如下任一方式:递推最小二乘算法(rls),最小均方误差算法(lms),归一化均方误差算法(nlms)等。
[0111]
如此,使得线性消除方案也具有泛化能力,进而最大化消除混合语音信号中的线性回声部分,为在任何场景下均能够保证回声消除性能奠定了基础。而且,本公开方案所述的线性方案,相比于传统参数固定的滤波器而言,能够随环境发生变化而自适应调整,所以,相较于现有参数固定的滤波器而言,本公开方案中线性方案同样具有很强的泛化能力。
[0112]
而且,本公开方案采用了两模块的联合优化,即线性模块和神经网络模块进行串联,并将线性模块的输出作为训练过程中的神经网络模块的输入,使得神经网络模块能够在线性模块的输出结果的基础上,进行迭代优化,进而消除剩余部分的回声信号,如消除非线性回声部分以及剩余的线性回声部分,如此,为最大化消除回声信号奠定了基础。
[0113]
需要说明的是,两模块联合优化的过程主要体现在:非线性模块(也即神经网络模块)的参数更新受线性模块的输出结果的影响,换言之,非线性模块(也即神经网络模块)的输入是基于线性模块消除部分回声后得到的,即非线性模块的输入是线性模块的输出,而线性模块的参数更新不受非线性模块的影响。因此,相比于两模块单独优化,本公开方案有效避免了两模块无法匹配而影响性能的问题,进一步为最大化消除回声奠定了基础。
[0114]
在本公开方案的一具体示例中,以上所述的至少将所述中间处理信号作为训练语
音信号,包括:
[0115]
将以下之一作为训练语音信号,包括:
[0116]
将所述中间处理信号和所述混合语音信号作为所述训练语音信号;
[0117]
将所述中间处理信号的音频特征和所述混合语音信号的音频特征作为所述训练语音信号;
[0118]
将所述中间处理信号和远端信号作为所述训练语音信号;
[0119]
将所述中间处理信号的音频特征和远端信号的音频特征作为所述训练语音信号;
[0120]
其中,所述远端信号用于产生所述回声信号。
[0121]
也就是说,本公开方案的训练语音信号还可以有混合语音信号或远端信号,而且,对于输入至预设全卷积神经网络模型的训练数据而言,可以是训练语音信号,还可以是训练语音信号的音频特征;具体地,作为训练语音信号的数据可以为如下四类:
[0122]
第一类:将所述中间处理信号和所述混合语音信号作为所述训练语音信号;
[0123]
第二类:将所述中间处理信号的音频特征和所述混合语音信号的音频特征作为所述训练语音信号;
[0124]
第三类:将所述中间处理信号和所述远端信号作为所述训练语音信号;
[0125]
第四类:将所述中间处理信号的音频特征和所述远端信号的音频特征作为所述训练语音信号。
[0126]
实际应用中,以上四种类型择一而使用,只要针对特定的类型制作预设标签语音信号即可完成训练。
[0127]
如此,提供了更加灵活的处理方式,同时,为有效完成预设全卷积神经网络模型的训练提供的数据支持。
[0128]
在本公开方案的一具体示例中,所述预设全卷积神经网络模型中存在处理参数不同的至少两个卷积层;其中,所述卷积层的处理参数为以下参数中的至少一种:通道数,卷积核。也就是说,所述预设全卷积神经网络模型中存在至少两个卷积层,该至少两个卷积层的处理参数不同,换言之,所述预设全卷积神经网络模型中卷积层的处理参数不完全相同,如此,实现多尺度卷积,并使卷积层拥有不同大小的感受野,进而提取到不同的特征,为提升场景泛化能力、提升方案的稳定性奠定基础。
[0129]
在本公开方案的一具体示例中,所述预设全卷积神经网络模型所包含的卷积层的通道数具有如下之一趋势:递增趋势、递减趋势,先递增后递减的趋势。也就是说,所述预设全卷积神经网络模型中第一层卷积层、第二层卷积层、至第m层卷积层的通道数,呈递增趋势(如倒金字塔结构),或者呈递减趋势(如金字塔结构),或者呈先递增后递减的趋势。这里,所述m为大于等于2的整数,如此,实现多尺度卷积,使卷积层拥有不同大小的感受野,进而提取到不同的特征,为提升场景泛化能力、提升方案的稳定性奠定基础。
[0130]
在本公开方案的一具体示例中,所述将所述训练语音信号输入至预设全卷积神经网络模型进行模型训练,包括:将所述训练语音信号输入至预设全卷积神经网络模型,得到输出结果;基于输出结果与预设标签语音信号所构建的损失函数,对所述预设全卷积神经网络模型进行训练。
[0131]
如此,基于构建的损失函数完全模型训练,为有效完成预设全卷积神经网络模型的训练奠定了基础。
[0132]
在本公开方案的一具体示例中,采用如下方式得到预设标签语音信号,具体地:
[0133]
方式一:基于混合语音信号和总样本目标语音信号(也即拼接所使用的样本目标语音信号)计算得到所述预设标签语音信号;比如,通过irm(invariant risk minimization)等掩膜mask方式将得到的理想掩膜mask来作为预设标签语音信号。
[0134]
或者,方式二:将总样本目标语音信号直接作为预设标签语音信号。
[0135]
如此,为有效完成预设全卷积神经网络模型的训练奠定了基础。
[0136]
需要说明的是,预设标签语音信号与输入的训练语音信号有关,实际应用中,可以基于输入的训练语音信号来有针对性的制作标签数据,进而构建损失函数,完成模型训练步骤。
[0137]
在本公开方案的一具体示例中,在模型训练过程中,所述卷积层在时间维度上进行卷积处理的音频帧包括:
[0138]
第t时刻的第t音频帧、第t-1时刻的第t-1音频帧、至第t-n时刻的第t-n音频帧;
[0139]
所述n与所述卷积层的卷积核在时间维度上的核特征相关,所述n为大于等于1的整数;所述t为大于等于1的整数;所述第t时刻为当前时刻。
[0140]
需要说明的是,实际应用中,所述预设全卷积神经网络模型中的所有卷积层均可以采用上述方式来处理音频帧,或者,至少其中一层采用上述方式来处理音频帧。
[0141]
这样,使得本公开方案每层卷积层在进行卷积处理时不依赖于未来时刻的音频帧即可正常处理并发挥正常性能,即在对第t时刻(也即当前时刻)的第t音频帧进行卷积处理时,依赖的是第t-1时刻的第t-1音频帧、至第t-n时刻的第t-n音频帧,而不依赖第t 1时刻(也即当前时刻的未来时刻)的第t 1音频帧,所以,卷积处理过程中实现了零延迟。
[0142]
举例来说,如图3所示,t时刻为当前时刻,假设时间维度上的卷积核(kernel)为3,此时,如图3左边所示方案,当前时刻的卷积处理,依赖第t-1时刻和第t 1时刻的音频帧,所以,无法实现零延迟。而本公开方案采用的如图3右边所示方案,当前时刻的卷积处理,依赖的是第t-1时刻、第t-2时刻以及当前时刻(也即第t时刻)的音频帧,而不依赖于第t 1时刻的音频帧,所以,本公开方案卷积处理过程中实现了零延迟。
[0143]
在本公开方案的一具体示例中,当t取值为1时,第1音频帧表征所述中间处理信号中的首个音频帧;第0音频帧至第1-n音频帧为预设帧;也就是说,为确保卷积处理过程中的零延迟,对于首个音频帧为当前时刻的音频帧而言,也即卷积层对首个音频帧进行卷积处理前,由于该首个音频帧之前未有其他音频帧,所以,为了确保卷积处理的正常进行,需要补入n个预设帧,使补入的预设帧与当前时刻的音频帧进行卷积处理,以确保卷积层卷积处理的正常运行。在一具体示例中,所述预设帧可以为零。
[0144]
进一步地,所述方法还包括:
[0145]
将n个预设帧设置于所述中间处理信号中首个音频帧之前,更新所述中间处理信号,使更新后的中间处理信号的前n帧为预设帧。
[0146]
如此,确保卷积层卷积处理的正常运行,同时,使得卷积结果只依赖了历史时刻以及当前时刻,而不依赖未来时刻,实现了零延时。
[0147]
需要说明的是,实际应用中,输入至预设全卷积神经网络模型的中间处理信号为更新后的信号,换言之,输入至预设全卷积神经网络模型的中间处理信号为按上述方式设置有n个预设帧的中间处理信号,举例来说,将更新后的中间处理信号直接输入至预设全卷
积神经网络模型,或者,将更新后的中间处理信号的音频特征输入至预设全卷积神经网络模型,如此,完成训练,并确保训练过程中的卷积处理不依赖未来时刻,进而实现零延迟。
[0148]
需要说明的是,实际训练过程中,在每层卷积层进行卷积处理前,均需要按照上述方式预先设置n个预设帧,如此,来确保卷积层卷积处理的正常运行,同时,使得卷积结果只依赖了历史时刻以及当前时刻,而不依赖未来时刻,实现了零延时。
[0149]
在一具体示例中,本公开方案所述卷积层可以具体为mobilenet结构,如此,通过mobilenet实现分组卷积,这样,在保证特征提取能力的同时,大大降低了参数量。
[0150]
举例来说,如图6(a)所示,本公开方案模型训练方法的主要步骤如下:
[0151]
确定待训练的多个样本语音信号;这里,所述的样本语音信号可以理解为近端语音信号,对于训练阶段而言,还可以称为样本目标语音信号,即作为样本的目标语音信号;
[0152]
将多个样本语音信号进行拼接处理,得到总样本语音信号(也即总样本目标语音信号);
[0153]
将拼接后得到的总样本语音信号与特定场景下的真实的回声信号进行叠加,模拟得到混合语音信号;该真实的回声信号包括线性回声部分和非线性回声部分;
[0154]
将得到的混合语音信号和用于产生该真实的回声信号的远端信号输入至线性模块中,并将线性模块的输入结果,以及该远端信号作为神经网络模块的输入,以对神经网络模块进行模型训练。
[0155]
这里,在训练过程中,还需要基于样本语音信号和模拟得到的混合语音信号来计算标签信号(也即预设标签语音信号),如此,基于构建的损失函数loss来对神经网络模型进行优化处理,以完成模型训练过程。
[0156]
进一步地,如图6(b)所示,神经网络模块,也即预设全卷积神经网络模型包括m个卷积层,而且,各卷积层主要使用了mobilenet结构,方便进行不同尺度的层数堆叠,同时也能够节省计算资源。这里,图6(b)仅为结构示例,实际应用中,卷积层(也即filter)的数量、每层的通道数,或其他设置、卷积核的特征以及对于输入进行的取绝对值(abs)、求log方式等均可以根据实际情况进行修改。实验证明,本公开方案,性能优于单独的线性方案或单独的非线性方案。而且,本公开方案由于具有很强的泛化能力,所以只需要几个小时的常规场景真实回声数据,就可以使得模型性能正常发挥。
[0157]
本公开方案应用于智能音箱场景中后,验证得知:较传统的非线性方案,本公开方案在语音识别性能上提升了27.92%的提升。同时,为了评估本公开方案的泛化能力,还设置了极端场景(如智能音箱放置在箱子中),此时,相较于传统的非线性方案(由于训练过程没有模拟到该场景,导致回声无法被消除,语音识别的结果为回声,而非语音指令),本公开方案使得回声被识别到的数量从每小时67次降到了每小时2次。
[0158]
需要说明的是,训练过程中所使用的混合语音信号,可以是模拟得到的,而且,模拟的混合语音信号与真实使用场景中越接近,模型的性能就越优,因此,实践中可以使用录音设备录制真实的回声信号,时长约为几十甚至几百小时,而且,若想进一步提升模型泛化能力,还可涉及更多的场景。
[0159]
本公开方案串联了线性模块和神经网络模块,能够同时消除线性回声与非线性回声,直接提升了语音识别准确率。而且,只使用少量训练数据就可以达到各个场景的泛化,具有场景泛化能力,在极端场景下也具有稳定的性能,提升了用户体验,同时降低了训练数
据的采集需求,大大节省了时间以及人力成本。另外,本公开方案采用了全卷积神经网络模型,相较于其他网络结构而言,本公开方案对训练的音频数据不作时长的限制,而且,也不需要定时重置。同时,由于本公开方案所述的卷积层采用了mobilenet结构,所以,也降低了计算量,节省了运算资源。
[0160]
本公开方案还提供了一种音频信号处理装置,如图7所示,包括:
[0161]
线性回声处理单元701,用于从混合语音信号中消除至少部分的线性回声信号,得到中间处理信号;其中,所述混合语音信号是目标语音信号与回声信号混合后所得,所述回声信号是所述目标语音信号在所处环境下产生的,包括线性回声信号和非线性回声信号;
[0162]
神经网络处理单元702,用于利用目标全卷积神经网络模型去除所述中间处理信号中的非线性回声信号和残留的线性回声信号,得到近似目标语音信号,其中,所述目标全卷积神经网络模型包括至少两层卷积层。
[0163]
在本公开方案的一具体示例中,还包括:
[0164]
识别单元,用于对所述近似目标语音信号进行语音识别,得到所述目标语音信号所指示的控制指令,响应所述控制指令。
[0165]
在本公开方案的一具体示例中,所述目标全卷积神经网络模型中存在处理参数不同的至少两个卷积层;其中,所述卷积层的处理参数为以下参数中的至少一种:通道数,卷积核。
[0166]
在本公开方案的一具体示例中,所述目标全卷积神经网络模型所包含的卷积层的通道数具有如下之一趋势:
[0167]
递增趋势、递减趋势,先递增后递减的趋势。
[0168]
在本公开方案的一具体示例中,所述神经网络处理单元,具体用于将所述中间处理信号输入至所述目标全卷积神经网络模型;或者,将所述中间处理信号的音频特征输入至所述目标全卷积神经网络模型;
[0169]
其中,所述目标全卷积神经网络模型中的所述卷积层能够对所述中间处理信号中的音频帧进行卷积处理,并去除所述中间处理信号中的非线性回声信号和残留的线性回声信号。
[0170]
在本公开方案的一具体示例中,所述卷积层在时间维度上进行卷积处理的音频帧包括:
[0171]
第t时刻的第t音频帧、第t-1时刻的第t-1音频帧、至第t-n时刻的第t-n音频帧;
[0172]
所述n与所述卷积核在时间维度上的核特征相关,所述n为大于等于1的整数;所述t为大于等于1的整数;所述第t时刻为当前时刻。
[0173]
在本公开方案的一具体示例中,当t取值为1时,第1音频帧表征所述中间处理信号中的首个音频帧;第0音频帧至第1-n音频帧为预设帧;
[0174]
所述装置还包括:
[0175]
第一更新单元,用于将n个预设帧设置于所述中间处理信号中首个音频帧之前,更新所述中间处理信号,使更新后的中间处理信号的前n帧为预设帧。
[0176]
在本公开方案的一具体示例中,所述线性回声处理单元,具体用于估计得到所述混合语音信号所处环境下的近似线性回声信号;从所述混合语音信号中消除估计得到的所述近似线性回声信号,得到所述中间处理信号。
[0177]
在本公开方案的一具体示例中,所述线性回声处理单元,具体用于将所述混合语音信号和用于产生所述回声信号的远端信号输入至线性回声模型中,得到近似线性回声信号。
[0178]
上述装置中各单元具体功能可参照上述音频信号处理方法的相关描述,这里不再赘述。
[0179]
本公开方案还提供了一种模型训练装置,如图8所示,包括:
[0180]
数据获取单元801,用于获取对混合语音信号中的至少部分的线性回声信号进行消除处理后所得到的中间处理信号;其中,所述混合语音信号是总样本目标语音信号与回声信号进行混合后所得;所述回声信号包括线性回声信号和非线性回声信号;
[0181]
训练数据确定单元802,用于至少将所述中间处理信号作为训练语音信号;
[0182]
模型优化单元803,用于将所述训练语音信号输入至预设全卷积神经网络模型进行模型训练,得到目标全卷积神经网络模型,其中,所述预设全卷积神经网络模型包括至少两个卷积层;所述目标全卷积神经网络模型能够去除所述中间处理信号中的非线性回声信号和残留的线性回声信号。
[0183]
在本公开方案的一具体示例中,所述数据获取单元,还用于对多个样本目标语音信号进行拼接处理,得到总样本目标语音信号;将所述总样本目标语音信号与所述回声信号进行混合,得到所述混合语音信号。
[0184]
在本公开方案的一具体示例中,所述数据获取单元,还用于估计得到所述混合语音信号所处环境下的近似线性回声信号;从所述混合语音信号中消除估计得到的所述近似线性回声信号,得到所述中间处理信号。
[0185]
在本公开方案的一具体示例中,所述数据获取单元,具体用于将所述混合语音信号和用于产生所述回声信号的远端信号输入至线性回声模型中,得到近似线性回声信号。
[0186]
在本公开方案的一具体示例中,训练数据确定单元,具体用于将以下之一作为训练语音信号,包括:
[0187]
将所述中间处理信号和所述混合语音信号作为所述训练语音信号;
[0188]
将所述中间处理信号的音频特征和所述混合语音信号的音频特征作为所述训练语音信号;
[0189]
将所述中间处理信号和远端信号作为所述训练语音信号;
[0190]
将所述中间处理信号的音频特征和远端信号的音频特征作为所述训练语音信号;
[0191]
其中,所述远端信号用于产生所述回声信号。
[0192]
在本公开方案的一具体示例中,所述预设全卷积神经网络模型中存在处理参数不同的至少两个卷积层;其中,所述卷积层的处理参数为以下参数中的至少一种:通道数,卷积核。
[0193]
在本公开方案的一具体示例中,所述预设全卷积神经网络模型所包含的卷积层的通道数具有如下之一趋势:
[0194]
递增趋势、递减趋势,先递增后递减的趋势。
[0195]
在本公开方案的一具体示例中,所述模型优化单元,具体用于将所述训练语音信号输入至预设全卷积神经网络模型,得到输出结果;基于输出结果与预设标签语音信号所构建的损失函数,对所述预设全卷积神经网络模型进行训练。
[0196]
在本公开方案的一具体示例中,所述模型优化单元,还用于基于混合语音信号和总样本目标语音信号计算得到所述预设标签语音信号;或者,将总样本目标语音信号作为预设标签语音信号。
[0197]
在本公开方案的一具体示例中,在模型训练过程中,所述卷积层在时间维度上进行卷积处理的音频帧包括:
[0198]
第t时刻的第t音频帧、第t-1时刻的第t-1音频帧、至第t-n时刻的第t-n音频帧;
[0199]
所述n与所述卷积核在时间维度上的核特征相关,所述n为大于等于1的整数;所述t为大于等于1的整数;所述第t时刻为当前时刻。
[0200]
在本公开方案的一具体示例中,其中,当t取值为1时,第1音频帧表征所述中间处理信号中的首个音频帧;第0音频帧至第1-n音频帧为预设帧;
[0201]
还包括:第二更新单元,用于将n个预设帧设置于所述中间处理信号中首个音频帧之前,更新所述中间处理信号,使更新后的中间处理信号的前n帧为预设帧。
[0202]
上述装置中各单元具体功能可参照上述模型训练方法的相关描述,这里不再赘述。
[0203]
本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
[0204]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0205]
图9示出了可以用来实施本公开的实施例的示例电子设备900的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0206]
如图9所示,设备900包括计算单元901,其可以根据存储在只读存储器(rom)902中的计算机程序或者从存储单元908加载到随机访问存储器(ram)903中的计算机程序,来执行各种适当的动作和处理。在ram903中,还可存储设备900操作所需的各种程序和数据。计算单元901、rom 902以及ram 903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。
[0207]
设备900中的多个部件连接至i/o接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0208]
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如音频信号处理方法或模型训练方法。例如,在一些实施例中,音频信号处理方法或模型训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元
908。在一些实施例中,计算机程序的部分或者全部可以经由rom 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到ram 903并由计算单元901执行时,可以执行上文描述的音频信号处理方法或模型训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行音频信号处理方法或模型训练方法。
[0209]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0210]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0211]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0212]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。
[0213]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0214]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0215]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0216]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

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

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

相关文献