CN111798859B - 数据处理方法、装置、计算机设备及存储介质 - Google Patents
数据处理方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111798859B CN111798859B CN202010875024.7A CN202010875024A CN111798859B CN 111798859 B CN111798859 B CN 111798859B CN 202010875024 A CN202010875024 A CN 202010875024A CN 111798859 B CN111798859 B CN 111798859B
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- coding
- segment
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 43
- 238000004364 calculation method Methods 0.000 claims abstract description 320
- 239000012634 fragment Substances 0.000 claims abstract description 81
- 238000012545 processing Methods 0.000 claims abstract description 62
- 230000001419 dependent effect Effects 0.000 claims description 64
- 238000004590 computer program Methods 0.000 claims description 16
- 238000010586 diagram Methods 0.000 description 19
- 238000000034 method Methods 0.000 description 16
- 238000004422 calculation algorithm Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 11
- 238000013136 deep learning model Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 7
- 239000013598 vector Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000006872 improvement Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 241000764238 Isis Species 0.000 description 1
- 241000135164 Timea Species 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 230000008034 disappearance Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- NGVDGCNFYWLIFO-UHFFFAOYSA-N pyridoxal 5'-phosphate Chemical compound CC1=NC=C(COP(O)(O)=O)C(C=O)=C1O NGVDGCNFYWLIFO-UHFFFAOYSA-N 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/167—Audio streaming, i.e. formatting and decoding of an encoded audio signal representation into a data stream for transmission or storage purposes
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L19/00—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
- G10L19/04—Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
- G10L19/16—Vocoder architecture
- G10L19/18—Vocoders using multiple modes
- G10L19/20—Vocoders using multiple modes using sound class specific coding, hybrid encoders or object based coding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请提供数据处理方法、装置、计算机设备及存储介质,应用于音频流的各个待处理片段的编码计算,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段。本申请实施例中通过获取对第一待处理片段进行编码计算得到的第一编码计算结果;在对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取所述第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果。由于先后的第一、第二待处理片段之间在音频流上存在重叠部分,利用该重叠部分对应的第一编码计算结果中的计算结果数据复用于第二编码计算结果,降低第二待处理片段计算量,提升计算效率。
Description
技术领域
本申请实施例涉及语音处理技术领域,尤其涉及数据处理方法、装置、计算机设备及存储介质。
背景技术
语音识别技术,也被称为自动语音识别(Automatic Speech Recognition,ASR)。语音识别模式分为文件转写、一句话、流式识别三种模式。其中流式识别模式可以实时将用户输入语音转为文本,有交互性高、响应快等特点,常应用于手机端等需要实时交互场景。
随着深度学习模型应用于语音识别中,其识别性能得以大大提高;但是相应的,也带来了激增的计算量。不只限于深度学习模型方式的语音识别,在其他的音频处理中,同样会存在要降低计算量的需求,以能够提升计算效率,从而具备更突出的产品竞争力。
因此,如何降低语音识别的计算量问题,已成为业界亟待解决的技术问题。
发明内容
有鉴于此,本申请实施例中提供数据处理方法、装置、计算机设备及存储介质,解决现有技术中的技术问题。
本申请实施例提供了一种数据处理方法,应用于音频流的各个待处理片段的编码计算,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段;所述数据处理方法包括:
获取对第一待处理片段进行编码计算得到的第一编码计算结果;
在对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取所述第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果。
可选的,所述音频流中的每个待处理片段包括:根据音频流片段中每个音频帧得到的帧数据。
可选的,所述编码计算包括:
获得对应每个音频帧的编码计算结果以组成所述待处理片段的编码计算结果;
其中,对应每个音频帧的编码计算结果,是根据所述音频帧及其前后获取到的每个依赖帧组成的帧段在所述待处理片段中的帧段数据进行编码计算得到的。
可选的,各所述依赖帧的获取方式包括:从音频帧向前每个第一预定间隔获取一个向前的依赖帧,直至获得第一预定数量的向前的依赖帧;以及,从音频帧向后每个第二预定间隔获取一个向后的依赖帧,直至获得第二预定数量的向后的依赖帧。
可选的,所述可复用结果数据包括:对应所述重叠部分中的各目标音频帧形成的部分编码计算结果;其中,对应所述目标音频帧获得的帧段数据不存在实际音频数据缺失。
可选的,所述实际音频数据缺失包括:在所述帧段数据的计算依据中包含标准数据。
本申请实施例还提供了一种数据处理方法,应用于音频处理模型对音频流的各个待处理片段的编码计算,所述音频处理模型有多个编码层,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段;所述数据处理方法包括:
获取对第一待处理片段经每个编码层进行编码计算输出的第一编码计算结果;
在每个编码层对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取相同编码层的第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果。
可选的,所述音频流中的每个待处理片段包括:根据音频流片段中每个音频帧得到的帧数据。
可选的,所述编码计算包括:
每个编码层根据输入数据获得对应每个音频帧的编码计算结果,以组成本编码层输出的所述待处理片段的编码计算结果;
其中,首个编码层的输入数据为所述待处理片段,非首个编码层的输入数据为上一编码层输出的编码计算结果;每个编码层所获得的对应每个音频帧的编码计算结果,是根据所述音频帧及其前后获取到的每个依赖帧组成的帧段对应在该编码层的输入数据中的帧段相关数据进行编码计算得到的。
可选的,各所述依赖帧的获取方式包括:从音频帧向前每个第一预定间隔获取一个向前的依赖帧,直至获得第一预定数量的向前的依赖帧;以及,从音频帧向后每个第二预定间隔获取一个向后的依赖帧,直至获得第二预定数量的向后的依赖帧。
可选的,与当前编码层相应的可复用结果数据包括:对应所述重叠部分中的各目标音频帧形成的部分编码计算结果;其中,对应所述目标音频帧获得的帧段相关数据不存在实际音频数据缺失。
可选的,所述实际音频数据缺失包括以下至少一种情形:1)在所述帧段相关数据的计算依据中包含标准数据;2)在所述帧段相关数据的计算依据中包含:在之前编码层的编码计算中加入过标准数据的计算结果。
可选的,所述音频处理模型包括语音识别模型。
本申请实施例还提供了一种数据处理装置,应用于音频流的各个待处理片段的编码计算,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段;所述数据处理装置包括:
数据获取模块,用于获取对第一待处理片段进行编码计算得到的第一编码计算结果;
数据计算模块,用于在对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取所述第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果。
本申请实施例还提供了一种数据处理装置,应用于音频处理模型对音频流的各个待处理片段的编码计算,所述音频处理模型有多个编码层,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段;所述数据处理装置包括:
数据获取模块,用于获取对第一待处理片段经每个编码层进行编码计算输出的第一编码计算结果;
数据计算模块,用于在每个编码层对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取相同编码层的第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果。
本申请实施例还提供了一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行任一项所述数据处理方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行任一项所述数据处理方法的步骤。
与现有技术相比,本申请实施例的技术方案具有以下有益效果:
基于先、后进行计算的音频流的待处理片段之间对应在音频流上存在重叠部分的特点,将对在先的待处理片段的计算结果中对应该重叠部分的可复用结果数据复用于在后待处理片段的计算中,如此可以避免重复计算量,提升在后处理片段的计算效率。
进一步的,在音频处理模型中,可能存在多个编码层而逐层对待处理片段生成计算结果,则相同编码层处理在先待处理片段生成的计算结果中对应重叠部分的数据可以用于在后待处理片段的计算结果的生成,从而能提升音频处理模型进行音频处理的计算效率;从而相比于现有技术,有效降低音频处理模型应用在例如语音识别中的计算量,提升计算效率。
附图说明
图1是本申请实施例中待处理片段之间不重叠的结构示意图。
图2是本申请实施例中待处理片段之间重叠的结构示意图。
图3是本申请一种实施例中数据处理方法的流程示意图。
图4a是本申请实施例中前馈序列记忆神经网络(FSMN)的结构示意图。
图4b是本申请实施例中FSMN中记忆模块的结构示意图。
图5是本申请实施例中cFSMN的结构示意图。
图6是本申请实施例中DFSMN的结构示意图。
图7是本申请实施例中音频帧的编码计算方式的原理示意图。
图8是本申请实施例中重叠部分中相同音频帧对应不同编码计算结果的原理意图。
图9是本申请实施例中目标音频帧确定的原理示意图。
图10是本申请又一实施例中数据处理方法的流程示意图。
图11是本申请实施例中多编码层的音频处理模型计算各层可复用结果数据的原理示意图。
图12是本申请实施例提供的数据处理装置的结构示意图。
图13是本申请又一实施例提供的数据处理装置的结构示意图。
图14是本申请实施例中计算机设备的结构示意图。
具体实施方式
在语音识别技术中的流式识别模式中,是实时地采集音频流片段来进行处理。如图1所示,展示有从音频流采样的音频流片段101,并展示有从所述音频流片段101按时序滑动(如图中箭头O所示)转换得到的第一待处理片段102和第二待处理片段103,用于输入到语音识别模型中进行语音识别。每个待处理片段中包含了至少一个音频帧的帧数据。所述提取可以是特征提取,特征提取方式包括:线性预测分析(Linear PredictionCoefficients,LPC)、感知线性预测系数(Perceptual Linear Predictive,PLP)、基于滤波器组的特征提取(Filterbank,Fbank)、线性预测倒谱系数(Linear Predictive CepstralCoefficient,LPCC)或梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)等;相应的,所述帧数据可以是特征数据,即所述第一待处理片段和第二待处理片段可以是特征矩阵或特征向量形式的。举例来说,音频流片段中所包含的每个音频帧皆可转换为多维的特征向量形式,例如M维的特征向量,则若有N个音频帧的音频流片段,可以转换为M×N的特征矩阵形式。
可选的,每个待处理片段的尺寸可以相同,而每个待处理片段可以称为一个批次(Batch);为简化描述,将第一待处理片段称为Batch1,将第二待处理片段称为Batch2。在图1中,Batch1和Batch2相互之间并不存在一帧或多帧的特征数据的重叠(如图中竖虚线所示),这样会造成Batch1和Batch2边界处音频帧的特征数据的上、下文信息丢失,导致Batch1和Batch2边界处的特征数据的识别效果不佳。
请参阅图2,为了改善这一情形,可以在图1基础上进行改进,在根据音频流片段201生成每下一个待处理片段时,向前增加音频帧的特征数据,以实现第一待处理片段202和第二待处理片段203在音频流片段201上具有重叠部分A,重叠部分指的是相同的一个或多个的音频帧,对应音频流上的重叠部分A,在第一待处理片段和第二待处理片段上也会存在重叠数据区域A’。
利用这样的改进,可以使每个Batch边界处特征数据的上、下文信息尽量保留,从而改善对Batch边界处的特征数据的语音识别效果。
可以理解的是,重叠数据区域A’中的至少部分特征数据在根据Batch1和Batch2分别经相同编码计算得到的编码计算结果(例如特征提取结果)中具有相同部分。并且,由于Batch1是先进行编码计算的,则根据Batch1得到的第一编码计算结果中的这个相同部分可被称为“可复用结果数据”,而被复用于Batch2的编码计算结果的计算中。
举例来说,Batch1包含音频帧a0至b0的特征数据,Batch2包含音频帧a1至b1的特征数据,a0、b0、a1、b1可以表示音频帧的序号或排序位置;b0在a1之前,从而形成重叠部分b0至a1,根据b0至a1再得计算得到Batch1的第一编码计算结果中的可复用结果数据,而复用于所述Batch2的第二编码计算结果中。
由此可知,本申请的方案可以应用于音频流的场景中,例如语音识别等;在此场景中,相邻的音频流的待处理片段之间只要存在重叠部分,即可进行可复用结果数据的获取及复用以提升效率,而不限制场景中具体使用的算法类型。在后续实施例中所举例的深度学习模型的应用场景也只是例示性的而非限制,即使在不使用深度学习模型的场景中也是可行的,例如非深度学习模型的语音特征编码算法,如前述列举的线性预测分析算法等。
如图3所示,展示本申请一种实施例中数据处理方法的流程示意图。所述数据处理方法应用于音频流的各个待处理片段的编码计算,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段。在一些实施例中,所述音频流中的每个待处理片段包括:根据音频流片段中每个音频帧得到的帧数据;其中,所述帧数据例如为多维特征数据,例如前述实施例中每个音频帧可以通过特征提取算法表示为M维的特征向量。
所述数据处理方法包括:
步骤S301:获取对第一待处理片段进行编码计算得到的第一编码计算结果。
步骤S302:在对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取所述第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果。
在一些示例中,所述编码计算可以采用语音识别技术中任意的特征提取算法,例如前述列举的算法或者深度学习模型中的各种算法;相应的,所述第一编码计算结果可以是通过前述列举的特征提取算法的特征提取结果,或深度学习模型(其中某层)进行编码计算得到的结果。
以深度学习模型为例,图4a中展示为前馈序列记忆神经网络(FeedforwardSequential Memory Neural Networks,FSMN)的结构示意图。前馈序列记忆神经网络包括输入层(Input Layer)、隐藏层(hidden Layer)及输出层(output Layer)。其中,前馈序列记忆神经网络的输入通过Xt表示,每个隐藏层计算的特征数据通过表示,下一隐藏层计算的特征数据通过表示,前馈序列记忆神经网络的输出通过yt表示,L表示第几个隐藏层,t表示时刻,WL表示第L个隐藏层向下一层输出的转换参数。
所述前馈序列神经网络在每个隐藏层对应设置有记忆模块(Memory Block),用于记忆t时刻输入信息的相邻时刻序列的信息,其输出表示为,向下一个隐藏层输出,表示记忆模块向下一隐藏层输出的转换参数。
请一并参阅图4b,展示FSMN中记忆模块的结构示意图。
以记忆前N个时刻的信息为例,根据图4b的计算流程可知,在一种示例中,所述的计算公式(1)为:
其中,为t-i时刻的特征数据,为对应的时不变系数。根据图4a及式(1)可知,记忆模块中储存了N个的过去特征数据的综合结果,并与当前层的特征数据一起向下一隐藏层输入。
此处基于记忆模块中对历史时刻信息(如t-i时刻的信息)对当前时刻信息(如t时刻信息)影响关系的表示的不同,分为两种编码方式。
(1)若为一个常数,则该FSMN被称为标量FSMN(sFSMN),
(2)若是一个与等长的向量,则该FSMN被称为矢量FSMN(vFSMN);
在另外的示例中,通过在记忆模块引入部分延时,令中还包含对未来的记忆,如以下式(2)所示:
其中,为t+j时刻的特征数据,为对应的时不变系数,N1表示N1个过去时刻,N2表示N2个未来时刻。
此外,深度学习模型还可以有基于FSMN进行改进得到的变种模型。
例如,图5中展示了基于FSMN进行改进的一种变种:简洁FSMN(CompactFeedforward Sequential Memory Networks,cFSMN)。在cFSMN中,通过在网络的隐藏层后添加一个低维度的投影层(projection Layer),其计算得到为,并且将记忆模块添加在这些投影层上,通过低维度的投影层可以实现降维,以减少训练参数个数。
cFSMN的参数更新公式为以下式(3)至(5):
其中,VL为第L层从到的转换参数,、UL和bL+1为到的转换参数。
又例如,在图6中,展示基于cFSMN进一步改进的深度FSMN(Deep-FSMN, DFSMN)的结构示意图。
相比于cFSMN,DFSMN在cFSMN的记忆模块之间添加了跳接(skip connection),使低层的记忆模块中记忆的信息能直接流入高层的记忆模块,在训练时的反向传播过程中,高层记忆模块的梯度也会直接流入低层的记忆模块中,这样有助于克服训练过程中梯度消失的情况。
结合图6,可以得到以下DFSMN的参数更新公式(6)、(7)、(8):
其中,表示低层记忆模块与高层记忆模块的连接形式。若该跳接是将低层的记忆信息直接添加到高层的记忆模块中,则。
其它基于FSMN的变种模型还有金字塔FSMN(pyramidal-FSMN)等,不一一列举。
可以理解的是,在以上FSMN模型或其变种模型的示例中,若以t为一音频帧的时间长度,则输入Xt即可以表示t时刻音频帧Zt的帧数据(例如音频帧的特征数据),而.......Xt+1,Xt-1.....则可以对应为相邻的音频帧.......Zt+1,Zt-1....的帧数据。假设每个Batch包含n帧的帧数据,由于各个Batch中帧表示是对音频帧的采样数据采用完全相同的处理算法(如特征提取算法)到的;第一待处理片段包含帧数据X1至Xn(对应于音频帧Z1至Zn),第二待处理片段包含帧数据Rn-20至R2n-19(对应于音频帧Zn-20至Z2n-19),第一待处理片段和第二待处理片段在音频流上存在重叠部分,包含音频帧Zn-20至Zn;其中,Rn-20至Rn和Xn-20至Xn可以一一相同,以第一编码计算结果中对应Xn-20至Xn的部分编码计算结果为依据,从中计算可复用结果数据以用于形成第二编码计算结果。
需说明的是,基于不同的编码计算方式,可复用结果数据可能是不同的。在一些示例中,如果不考虑音频帧之间的上下文关系(或称前后帧依赖关系),那么Xn-20至Xn中的每个帧数据(对应每个音频帧)编码计算时候不必涉及前后相邻音频帧的帧数据,则得到的结果数据都可以属于所述可复用结果数据;但是,如果考虑音频帧之间的上下文关系,那么在对每个音频帧进行计算时则需要涉及前后相邻音频帧的帧数据,那么在Xn-20至Xn中,会有一个或多个音频帧,虽然在先后两个Batch中的帧数据相同,但在该两个Batch中进行编码计算对应得到的部分编码计算结果不同的情况,则根据这些音频帧得到的部分编码计算结果就不能被包含在可复用结果数据中。
在前述示例中的FSMN及其变种模型的计算原理中,明显是要考虑到过去记忆信息和未来记忆信息,这就是考虑语音的上下文关系,并在实际计算中反映在前后帧依赖的关系中。举例说明上下文关系的作用,例如每个字的发音并不是独立的,比如汉字里hao(四声)发音在不同场景下会识别为不同意义,如“号(hao四声)外”、“爱好(hao四声)”等。如果准确识别其意义,就会需要考虑语音的上下文关系,即前后帧的依赖关系。但需要特别说明的是,即使是在不考虑上下文关系的音频处理场景中,只要前后相邻的音频片段之间存在重叠部分,皆可以应用本申请的相邻音频流片段间编码计算结果的复用,并非以上述为限。
以下对考虑前后帧依赖的编码计算方式的具体实现进行详细说明。
在一些示例中,所述编码计算包括:获得对应每个音频帧的编码计算结果以组成所述待处理片段的编码计算结果;其中,对应每个音频帧的编码计算结果,是根据所述音频帧及其前后获取到的每个依赖帧组成的帧段在所述待处理片段中的帧段数据进行编码计算得到的。
在更具体的示例中,各所述依赖帧的获取方式包括:从音频帧向前每个第一预定间隔获取一个向前的依赖帧,直至获得第一预定数量的向前的依赖帧;以及,从音频帧向后每个第二预定间隔获取一个向后的依赖帧,直至获得第二预定数量的向后的依赖帧。
举例来说,根据上述FSMN及其变种cFSMN、DFSMN中记忆模块的编码计算的原理可知,某一个隐藏层根据当前时刻t的输入计算的特征数据中的至少部分的是根据各历史时刻、未来时刻的特征数据进行综合来确定的,例如式(2)、(4)、(7)中,在计算时,将时不变参数a同之前各历史时刻、时不变参数同之后各个未来时刻的特征数据间相乘并求和,例如式(2)的标量乘积后求和或式(4)、(7)的矢量乘积后求和。
因此,如图7所展示的对应每个音频帧的编码计算方式。同样按时序递进,时刻t可以相当于音频帧的序号,序号t的音频帧Zt的帧数据作为该输入信号Xt,则其向前的各相邻音频帧Zt-n....Zt-2,Zt-1可以分别表示为Xt-n....Xt-2,Xt-1;向后的各相邻音频帧Zt+1,Zt+2....Zt+m可以分别表示为Xt+1,Xt+2....Xt+m,m和n可为预设非0的自然数。
根据音频帧Zt可以同向前和向后预定间隔和数量的依赖帧构成帧段。例如,l_order/r_order是要取的向前/向后依赖的音频帧的数量,l_stride/r_stride是向前/向后帧的取帧间隔;由此,Zt向前每隔l_stride个音频帧的间隔取一个依赖帧,直至获取到l_order个向前依赖的依赖帧;同理,Zt向后每隔r_stride个音频帧的间隔取一个依赖帧,直至获取到r_order个向后依赖的依赖帧。由此,第t个音频帧Zt向前最远依赖到t-l_order*l_stride的依赖帧,向后最远依赖到t+r_order*r_stride的依赖帧。
假设l_stride和r_stride都为10,l_order和r_order都为2,则这样音频帧Zt向前依赖的依赖帧有Zt-10、Zt-20,向后依赖的依赖帧有Zt+10、Zt+20,则构成帧段Zt-10Zt-20ZtZt+ 10Zt+20,而这个帧段对应的帧段数据即[Xt-10Xt-20XtXt+10Xt+20],也可以通过帧段数据表示函数F表示为F(Xt)=[Xt-10Xt-20XtXt+10Xt+20],根据[Xt-10Xt-20XtXt+10Xt+20]进行编码计算可以得到Zt的编码计算结果,例如表示为Yt。
在一个Batch中,假设其包含帧数据[X1..X100]即音频帧Z1至Z100(音频帧序号t=1~100)的帧数据;假设t=1,l_stride=1,l_order=3,r_stride=2,l_order=2则对应的帧段数据应该为[X-2X-1X-0X1X3X5],但是X-2、X1、X0超出了该Batch的数据范围,不存在实际特征数据的;又或者,t=100,l_stride=1,l_order=3,r_stride=2,l_order=2,可以发现对应的[X97X98X99X100X102X104],其中X102、X104超出了该Batch的数据范围。对于这样的情形,可以进行标准数据的填充,例如补零操作,即在对帧段数据[X-2X-1X-0X1X3X5]编码计算时为对X-2至X0进行补零后计算,又或者在对帧段数据[X97X98X99X100X102X104]编码计算时为X102和X104进行补零后计算。
可复用结果数据指的是相同的音频帧(即代表相同的帧数据)位于不同待处理片段中得到的相同的部分编码计算结果;如果在不同待处理片段中,相同音频帧的帧数据对应的部分编码计算结果不一致,则需加以舍弃而不能作为可复用数据。
对于在音频流上存在重叠部分的两个待处理片段,例如第一待处理片段和第二待处理片段中,出现相同音频帧的不同部分编码计算结果,是因为该音频帧在第一待处理片段中或在第二代处理片段中的帧段数据超出了所在的待处理片段而引起实际音频数据的缺失。
例如,如图8所示,Batch1包含帧数据X1至Xn(对应于音频帧Z1至Zn),Batch2包含帧数据Rn-20至R2n-19(对应于音频帧Zn-20至Z2n-19);其中,Rn-20至Rn和Xn-20至Xn可以一一对应相同,其中标号只是表示与音频帧的序号相关,而限定在所在数据中的真实排序,例如Rn-20在Batch1中数据块的实际序号为1,而非n-20。可以理解的是,在Batch2中,Rn-20向前是没有相邻帧的帧数据的,也就是说,根据Rn-20所形成帧段数据是超出Batch2的数据范围的,则需要补零以能编码计算;但是,在Batch1中,对应相同音频帧的帧数据Xn-20是具有向前和向后的相邻帧的帧数据的,因此,Zn-20在Batch1和Batch2分别得到的编码计算结果中对应的部分编码计算结果会是不同的,需排除在可复用结果数据以外;同理,若Batch1在该重叠部分中的某个音频帧例如Xn没有后向相邻帧,其所形成帧段的帧段数据会超出Batch1数据范围(需要补零以能编码计算),然而Batch2中与Xn属于相同音频帧的Rn是具有前、后相邻帧的帧数据的,因此,即使Xn和Rn值相同,对应的部分编码计算结果也不会相同,这样的音频帧在Batch1对应的部分编码计算结果也排除在可复用结果数据以外。
可以理解的是,某些音频帧在进行编码计算而得到帧段数据时,由于超出了实际音频数据的数据范围,无法仅以音频帧的原帧数据为计算依据而需要通过补零操作来计算帧段数据,可见其中存在了实际音频数据缺失的情况,则这样的音频帧应当被剔除。
由此,可以定义目标音频帧对应目标音频帧获得的帧段数据是不存在实际音频数据缺失的;可复用结果数据是与重叠部分中的目标音频帧相关的,根据目标音频帧所构成帧段的帧段数据既不超出第一待处理片段的数据范围,又不超出第二待处理片段的数据范围,以保证对应得到的部分编码计算结果在不同待处理片段的编码计算结果中是相同的,而属于可复用结果数据。
在一些示例中,可以根据构成帧段的音频帧的前向、后向的依赖帧的取帧间隔和取帧数量,来推算对应的帧段数据是否会超出第一和第二处理片段的数据范围。例如,l_order/r_order是要取的向前/向后依赖的音频帧的数量,l_stride/r_stride是要取的向前/向后依赖音频帧的间隔;根据前述实施例,由于在FSMN或其变种的模型中,一个音频帧对应生成一个帧数据Xt,以及在每个编码层产生一个编码计算结果,例如特征数据h、p等,最终输出yt都可以作为一个编码计算结果。
设Batch1对应音频帧序号a0到b0的多个帧数据,Batch2对应音频帧序号a1到b1的多个帧数据,a1在a0和b0之间,形成重叠部分a1至b0;若在a1至b0存在一个音频帧a5,对应的帧段为a5-(l_stride)*(l_order)至a5+(r_stride)*(r_order),判断该帧段在Batch1的帧段数据是否超出Batch1的数据范围,即判断a5-(l_stride)*(l_order)是否在a0之前或者a5+(r_stride)*(r_order)是否在b1之后;又或者,判断该帧段在Batch2的帧段数据是否超出Batch2的数据范围,即判断a5-(l_stride)*(l_order)是否在a1之前或者判断a5+(r_stride)*(r_order)是否在b1之后;当判断该帧段a5-(l_stride)*(l_order)至a5+(r_stride)*(r_order)对应的帧段数据不超出Batch1和Batch2的数据范围时,音频帧a5为目标音频帧。
由此可以推得,如图9所示,根据重叠部分的两个边界a1、b0,从a1向后推移(l_stride)*(l_order),就能发现a1+(l_stride)*(l_order)位置的音频帧A及其之后的音频帧在构成帧段时向前都能获取到实际帧数据,而不必补零;同理,从b0向前推移(l_stride)*(l_order)之后,就能发现b0-(r_stride)*(r_order)位置的音频帧B及其之前的音频帧在构成帧段时向后都能获取到实际帧数据,而不必补零;因此,a1+(l_stride)*(l_order)至b0-(r_stride)*(r_order)之间取出的都会是目标音频帧,这些目标音频帧的帧数据都是实际帧数据,不含补零数据,故经编码计算得到的部分编码计算结果在Batch1和Batch2的编码计算结果中都是相同的,为可复用结果数据。
可选的,在一些示例中,所述数据处理方法还可以包括:结合计算的可复用结果数据形成所述第二待处理片段的编码计算结果,并加以保存,以供计算后续与第二待处理片段在音频流上有重叠部分的第三待处理片段的编码计算结果时使用。以此类推,在先Batchk+1的编码计算结果计算时使用了Batch k的编码计算结果中的可复用数据,而将Batch k+1的编码计算结果保存,用于在计算Batch k+2的编码计算结果时读取出来,并提取可复用结果数据。
以上示例性地展示了在具有多个编码层的模型(例如前述实施例中的FSMN或其变种模型)中首个编码层、或单个编码层的模型、或非深度神经网络模型中初次对音频帧转换得到的帧数据进行编码计算时的示例,但是,并非以此为限。
可以理解的是,在同一个多编码层的音频处理模型进行反复的待处理片段处理的场景下,具有重叠部分的两个所述待处理片段分别输入此模型之后,经此多个编码层逐层处理,可能会因所述重叠部分的存在而在相同编码层输出的编码计算结果中具有相同数据,故在先的待处理片段在某一编码层的编码计算结果中的此相同数据,可以作为对在后处理片段的编码计算结果的可复用结果数据。
如图10所示,展示本申请又一实施例中的数据处理方法。
在具体实施中,所述数据处理方法应用于音频处理模型对音频流的各个待处理片段的编码计算,所述音频处理模型有多个编码层,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段。在一些示例中,所述音频处理模型可以是语音识别模型,例如FSMN或其变种模型cFSMN、DFSMN等,又或者其它语音识别模型。需说明的是,该语音识别模型所处理的相邻待处理片段之间需具有重叠部分,以使编码层对相邻待处理片段的编码计算结果间出存在相同数据,以形成复用的基础。
所述数据处理方法包括:
步骤S1001:获取对第一待处理片段经每个编码层进行编码计算输出的第一编码计算结果;
步骤S1002:在每个编码层对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取相同编码层的第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果。
与之前实施例中相似的是,所述音频流中的每个待处理片段包括:根据音频流片段中每个音频帧得到的帧数据,例如经MFCC、FBANK等特征提取算法得到的特征数据。
在一些具体示例中,所述编码计算包括:每个编码层根据输入数据获得对应每个音频帧的编码计算结果,以组成本编码层输出的所述待处理片段的编码计算结果。
在一些实例中,所述每个编码层可以是语音识别模型中的编码层,例如FSMN或其变种模型cFSMN、DFSMN等,例如FSMN中的每个隐藏层、记忆模块;或者,cFSMN中的各个隐藏层、各个投影层、各个记忆模块;或者,DFSMN模型中各个隐藏层、各个投影层、各个记忆模块。这些编码层的输出等(例如隐藏层、投影层、记忆模块的输出)、中间计算结果数据(可参考图4b,例如记忆模块内每一个位置如求和、乘法等运算得到的中间计算结果数据)可以作为所述编码计算结果;对于首个编码层,其输入数据是帧数据;对于非首个编码层,其输入数据为上一编码层输出的编码计算结果,例如FSMN中隐藏层向下一隐藏层的输出、记忆模块向下一隐藏层的输出中的至少一种;或者,cFSMN中投影层向记忆模块的输出、记忆模块向下一隐藏层的输出中的至少一种;或者,DFSMN中隐藏层向记忆模块的输出、记忆模块向下一隐藏层的输出、记忆模块向下一记忆模块的输出中的至少一种。
以DFSMN为例,首个记忆模块记录,则此首个隐藏层的输入为Xt,该隐藏层的输出向下一隐藏层传输,可见,之后的隐藏层以之前层的输出为输入。
在一些示例中,可以选择具有完全相同计算方式且直接连接的多个编码层来较为简单地执行可复用结果数据的利用,例如DFSMN中的各个记忆模块,它们的计算方式相同且跳接(Skip connection),上一层的记忆模块的输出可以直接作为下一层的记忆模块的输入,由于中间可以不对输出进行再次的变换,能较为容易地提取出可复用结果数据。但是,这并非是说除了DFSMN中的记忆模块作为编码层以外,其它编码层或其它模型中的编码层一定不能进行可复用结果数据的提取,只是可能需要进行例如在编码计算的过程中对中间数据进行截取等操作。
在一些示例中,每个编码层所获得的对应每个音频帧的编码计算结果,是根据所述音频帧及其前后获取到的每个依赖帧组成的帧段对应在该编码层的输入数据中的帧段相关数据进行编码计算得到的。
在更具体的示例中各所述依赖帧的获取方式包括:从音频帧向前每个第一预定间隔获取一个向前的依赖帧,直至获得第一预定数量的向前的依赖帧;以及,从音频帧向后每个第二预定间隔获取一个向后的依赖帧,直至获得第二预定数量的向后的依赖帧。
可以参考图7中的编码计算方式,即根据音频帧及其前向和后向依赖的在每个预定间隔下获取到的预定数量的依赖帧构成帧段,根据帧段对应的数据计算计算该音频帧的编码计算结果。在多个编码层的情况下,类似的,每个编码层根据音频帧及其前后依赖帧所构建的帧段在其输入数据提取对应的帧段相关数据,对帧段相关数据进行编码计算来得到该音频帧在此编码层的编码计算结果。
可以理解的,若帧段相关数据超出了输入数据的范围,那么就会对超出部分进行标准数据的填充,例如补零。由此可知,存在重叠部分的第一待处理片段和第二待处理片段在经音频处理模型中各个编码层处理后,分别输出作为下一个编码层的第一输入数据和第二输入数据;根据之前对目标音频帧的推导可知,可复用结果数据对应的都是目标音频帧。在多个编码层的音频处理模型中,与当前编码层相应的可复用结果数据包括:对应所述重叠部分中的各目标音频帧形成的部分编码计算结果。其中,对应所述目标音频帧获得的帧段相关数据不存在实际音频数据缺失。
所述实际音频数据缺失包括以下至少一种情形:1)在所述帧段相关数据的计算依据中包含标准数据;2)在所述帧段相关数据的计算依据中包含:在之前编码层的编码计算中加入过标准数据的计算结果。
具体来讲,如果是首个编码层,则目标音频帧满足其对应的帧段相关数据不超出第一输入数据和第二输入数据的范围即可,例如在图9实施例中所推导的;但是,如果并非首个编码层,则会以上一编码层输出的编码计算结果为输入,在上一编码层的目标音频帧(称为“原目标音频帧”),由于在当前编码层进行编码计算时,需要结合该原目标音频帧的前、后依赖帧在当前编码层的输入数据中的部分数据,然而这些依赖帧中有的可能是在之前编码层属于非目标音频帧,即在之前编码层对应的编码计算中可能存在添加标准数据(即补零操作的)情形的。可见,部分原目标音频帧在当前编码层进行编码计算时形成的帧段相关数据可能会因引入非目标音频帧而出现实际音频数据缺失的情形;因此,这些存在实际音频数据缺失的原目标音频帧在当前编码层获得可复用结果数据时将被剔除出目标音频帧。可以推知,每经一个编码层,目标音频帧就会减少一部分,即可复用结果数据的范围也在缩小。
为更直观清楚地说明上述原理,如图11所示,举例说明根据音频处理模型对各编码层的编码计算结果计算可复用结果数据的原理。
如图11所示,根据图中右侧音频采样信号中前后不同音频帧片段得到第一待处理片段C和第二待处理片段D,先后会输入到第一个编码层Layer1;假设C对应的各音频帧的序号是0~100,D对应的各音频帧序号为40~140,重叠部分的音频帧序号为40~100,分别通过箭头连接到左侧的输入数据和编码计算数据中的对应数据的图块;在未进行编码计算前,C和D中对应于音频帧40~100的一段数据是相等的,通过斜纹图案表示,之后的可复用结果数据也会简单地通过斜纹图案表示。
在第一个编码层Layer1进行C的编码计算,若其中某个音频帧构成帧段时向前或向后依赖帧缺失,则对取自输入数据的帧相关数据中超出输入数据范围的缺失部分进行补零再编码计算。为方便计算,假定l_stride=1,l_order=10,r_stride=1,r_order=10,可见C对应的音频帧0~100中,由于向后依赖,100-(r_stride)*(r_order)=90,90之后的音频帧对应的C中数据会需要补零,需从40~100中加以舍弃;D对应的音频帧40~140中,由于向前依赖,40+(l_stride)*(l_order)=50,50之前的音频帧对应的D中数据会需要补零,需从40~100中加以舍弃,因此,得到重叠部分中的各个目标音频帧40+(l_stride)*(l_order)至100-(r_stride)*(r_order),即50~90,如图中右侧所示;根据C编码计算得到的编码计算结果中对应音频帧序号50~90的部分编码计算结果为可复用结果数据,见左侧“Layer1编码计算结果”中斜纹图案表示,可复用于形成D对应的编码计算结果。
C、D分别经Layer1编码计算得到的编码计算结果E、F,传输到Layer2,作为Layer2的输入数据。可以理解的是,Layer2根据输入数据E、F进行编码计算时,音频帧序号50~90的向前、向后的依赖帧(例如49、91等)在E、F中的对应数据是在Layer1编码计算时补零过的,由于在Layer2进行50~90中音频帧的编码计算时,这些依赖帧对应在输入数据中的部分数据会在构建帧段数据时引入,例如对序号50的音频帧编码计算时对其构建帧段数据F(50),其前、后相邻10帧即40~49和51~60中,41~49对应在Layer1中的编码计算时是对C、D中的相应数据补零过的,故在Layer2时,序号50的音频帧不再是目标音频帧;可以推知,这部分音频帧对应在Layer2的编码计算结果中的部分编码计算结果肯定是不可复用的,因此,需要从音频帧50~90中剔除。
可以理解的是,这部分音频帧的数量也是与(l_stride)*(l_order)和(r_stride)*(r_order)相关的。举例来说,音频帧50之前的(l_stride)*(l_order)=10帧在Layer1是存在经补零后进行编码计算的情况的,那么将音频帧50向后移(l_stride)*(l_order)至音频帧60后,可以发现音频帧60向前(l_stride)*(l_order)=10所涉及的各音频帧(即音频帧50~59)对应在之前C、D的编码计算中全部都是根据实际音频数据计算得到的,而不带有补零的数据;同理,向后(r_stride)*(r_order)=10帧也一样,音频帧90也会存在依赖帧为涉及补零过的音频帧的情形而不能再作为目标音频帧,音频帧90其向前移动(r_stride)*(r_order)=10帧后,音频帧80编码计算时就不会受到上一层补零过的数据影响。
因此,在Layer2中,音频帧50+(l_stride)*(l_order)~90-(r_stride)*(r_order),即音频帧60~80为Layer2时的目标音频帧;可知,音频帧60~80对应在Layer2根据E编码计算得到的编码计算结果中的部分编码计算结果为可复用数据,可以复用于形成Layer2根据F编码计算的编码计算结果中。
以此类推,可以发现每深入一个编码层,会从之前的目标音频帧中再剔除前端的(l_stride)*(l_order)和后端的(r_stride)*(r_order)的部分,才能获得当前编码层的目标音频帧的范围。
以之前重叠部分为a1至b0为例,可得到确定每个编码层的目标音频帧范围的算式为:
b0+(num_Layer)*(r_stride)*(r_order)到a0-num_Layer*(l_stride)*(l_order);其中num_Layer是音频处理模型中第几个编码层。
可选的,在一些示例中,所述数据处理方法还可以包括:结合计算的可复用结果数据形成所述第二待处理片段在每个编码层的编码计算结果,并加以保存,以供计算后续与第二待处理片段在音频流上有重叠部分的第三待处理片段在每个编码层的编码计算结果时使用,用于提取第二待处理片段的编码计算结果中可复用于第三待处理片段的编码计算结果的可复用数据。以此类推,在先Batch k+1的在每个编码层的编码计算结果计算时使用了Batch k在每个编码层的编码计算结果中的可复用数据,而Batch k+1在每个编码层的编码计算结果保存,用于计算Batch k+2在每个编码层的编码计算结果时读取出来,并提取可复用结果数据。
在上述各个实施例中,从音频帧、帧数据、各编码层的编码计算结果之间可具有索引关系,以用于定位编码计算结果中的可复用结果数据。
在可能实现中,所述索引关系可以是根据帧序号、帧数量的相关方式来获得的,例如每个音频帧在编码计算结果数据中都有各自的一部分结果数据,相邻音频帧对应的部分结果数据之间可以具有标识字符,以根据标识字符的数量来确定对应归属的音频帧,比如音频帧序号1~10,那么第3个标识字符之后的即为对应音频帧序号4的部分结果数据;又或者,根据数据宽度来确定索引关系,例如每个音频帧对应的部分结果数据的数据宽度是相同的,那么通过数一定数量的数据宽度即可获得对应音频帧的部分结果数据,例如每个音频帧的部分结果数据的宽度是a,那么偏移3a数据宽度之后的a数据宽度即为音频帧序号4的部分结果数据。
同理,其它的音频帧和帧数据等之间的索引关系也可以通过上述举例的方式来获得。再需说明的是,上述只是示例性地说明索引关系可能的获得方式,而非限制其它可能的实施,并非以上述举例为限。
如图12所示,展示本申请实施例提供的数据处理装置120的结构示意图。所述数据处理装置120应用于音频流的待处理片段的编码计算。需说明的是,本实施例中数据处理装置120的技术细节可以参考图3的方法实施例,此处不作重复赘述。
所述数据处理装置120包括:
数据获取模块121,用于获取对第一待处理片段进行编码计算得到的第一编码计算结果;
数据计算模块122,用于在对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取所述第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果。
可选的,所述音频流中的每个待处理片段包括:根据音频流片段中每个音频帧得到的帧数据。
可选的,所述编码计算包括:
获得对应每个音频帧的编码计算结果以组成所述待处理片段的编码计算结果;
其中,对应每个音频帧的编码计算结果,是根据所述音频帧及其前后获取到的每个依赖帧组成的帧段在所述待处理片段中的帧段数据进行编码计算得到的;各所述依赖帧的获取方式包括:从音频帧向前每个第一预定间隔获取一个向前的依赖帧,直至获得第一预定数量的向前的依赖帧;以及,从音频帧向后每个第二预定间隔获取一个向后的依赖帧,直至获得第二预定数量的向后的依赖帧。
可选的,所述可复用结果数据包括:对应所述重叠部分中的各目标音频帧形成的部分编码计算结果;其中,对应所述目标音频帧获得的帧段数据不存在实际音频数据缺失。
可选的,所述实际音频数据缺失包括:在所述帧段数据的计算依据中包含标准数据。
如图13所示,展示本申请又一实施例提供的数据处理装置130的结构示意图。所述数据处理装置130应用于音频处理模型133对音频流的待处理片段的编码计算,所述音频处理模型133有多个编码层134。需说明的是,本实施例中数据处理装置130的技术细节可以参考图10的方法实施例,此处不作重复赘述。
所述数据处理装置130包括:
数据获取模块131,用于获取对第一待处理片段经每个编码层134进行编码计算输出的第一编码计算结果;
数据计算模块132,用于在每个编码层134对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取相同编码层134的第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果。
可选的,所述数据获取模块131和数据计算模块132中的至少一个可以集成在编码层中,例如每个编码层134集成一个数据计算模块132以计算本层的可复用结果数据等;图13只是一种示意而非限定功能模块的所在位置。
可选的,所述音频流中的每个待处理片段包括:根据音频流片段中每个音频帧得到的帧数据。
可选的,所述编码计算包括:
每个编码层134根据输入数据获得对应每个音频帧的编码计算结果,以组成本编码层134输出的所述待处理片段的编码计算结果;
其中,首个编码层134的输入数据为所述待处理片段,非首个编码层134的输入数据为上一编码层134输出的编码计算结果;每个编码层134所获得的对应每个音频帧的编码计算结果,是根据所述音频帧及其前后获取到的每个依赖帧组成的帧段对应在该编码层134的输入数据中的帧段相关数据进行编码计算得到的。
可选的,与当前编码层134相应的可复用结果数据包括:对应所述重叠部分中的各目标音频帧形成的部分编码计算结果;
其中,根据所述目标音频帧形成的当前帧段相关数据不超出根据第一待处理片段得到的对所述当前编码层134的当前第一输入数据、及根据第二待处理片段得到的对所述编码层134的当前第二输入数据的数据范围;或者,根据所述目标音频帧形成的帧段相关数据不包含:根据超出上一编码层134的上一第一输入数据和上一第二输入数据的数据范围的帧段相关数据编码计算得到的部分当前输入数据。
可选的,所述实际音频数据缺失包括:在所述帧段数据的计算依据中包含标准数据。
可选的,所述音频处理模型133包括语音识别模型,例如FSMN、cFSMN、DFSMN或其它前后帧依赖的语音识别模型。
如图14所示,展示本申请实施例中的计算机设备的结构示意图。
所述计算机设备包括存储器141和处理器142,所述存储器141上存储有可在所述处理器142上运行的计算机程序;所述处理器142运行所述计算机程序时执行前述实施例中的例如图3、图10的方法实施例中的步骤。
在一些示例中,所述处理器142可以是实现计算功能的组合,例如包含一个或多个微处理器组合,数字信号处理(Digital Signal Processing,DSP)、ASIC等;所述存储器141可能包含高速RAM存储器,也可能还包括非易失性存储器(Non-volatile Memory),例如至少一个磁盘存储器。
在一些示例中,所述计算机设备140可以实现于例如服务器、服务器组、台式机、笔记本电脑、智能手机、平板电脑、智能手环、智能手表、或其它智能设备、或这些智能设备通信连接而形成的处理系统。
本申请实施例还可以提供计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时执行前述任一种实施例中所述数据处理方法的步骤。
即,上述本发明实施例中的数据处理方法被实现为可存储在记录介质(诸如CDROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC或FPGA)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据处理方法。此外,当通用计算机访问用于实现在此示出的数据处理方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据处理方法的专用计算机。
与现有技术相比,本申请实施例的技术方案具有以下有益效果:
基于先、后进行计算的音频流的待处理片段之间对应在音频流上存在重叠部分的特点,将对在先的待处理片段的计算结果中对应该重叠部分的可复用结果数据复用于在后待处理片段的计算中,如此可以避免重复计算量,提升在后处理片段的计算效率。
进一步的,在音频处理模型中,可能存在多个编码层而逐层对待处理片段生成计算结果,则相同编码层处理在先待处理片段生成的计算结果中对应重叠部分的数据可以用于在后待处理片段的计算结果的生成,从而能提升音频处理模型进行音频处理的计算效率;从而相比于现有技术,有效降低音频处理模型应用在例如语音识别中的计算量,提升计算效率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机程序。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。
例如,前述图12、13实施例中的数据处理装置等中的各个功能模块可以是软件实现;或者也可以是软硬件配合实现,例如通过计算机设备实施例中的处理器运行存储器的计算机程序实现;或者,也可以是通过硬件电路实现。
此外,在本申请各个实施例中的各功能模块可以集成在一个处理部件中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个部件中。上述集成的部件既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的部件如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。
例如,前述图12、13实施例中的数据处理装置等中的各个功能模块可以是独立、单一的程序实现,也可以是一程序中的不同程序段分别实现,在某些实施场景中,这些功能模块可以位于一个物理设备,也可以位于不同的物理设备但相互通信耦合。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
例如,前述图3、10等实施例中的方法,其中的各个步骤的顺序可以在具体场景中加以变化,并非以上述描述为限。
虽然本说明书实施例披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本说明书实施例的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (17)
1.一种数据处理方法,其特征在于,应用于音频流的各个待处理片段的编码计算,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段;所述数据处理方法包括:
获取对第一待处理片段进行编码计算得到的第一编码计算结果;
在对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取所述第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果,其中,
所述重叠部分是音频流上的一个或多个的音频帧,且同时存在于第一待处理片段和第二待处理片段上;
所述可复用结果数据为所述重叠部分位于不同待处理片段中得到的相同的部分编码计算结果,如果不同待处理片段中,所述重叠部分对应的部分编码计算结果不一致,则需加以舍弃而不能作为可复用数据。
2.根据权利要求1所述的数据处理方法,其特征在于,所述音频流中的每个待处理片段包括:根据音频流片段中每个音频帧得到的帧数据。
3.根据权利要求1或2所述的数据处理方法,其特征在于,所述编码计算包括:
获得对应每个音频帧的编码计算结果以组成所述待处理片段的编码计算结果;
其中,对应每个音频帧的编码计算结果,是根据所述音频帧及其前后的每个依赖帧组成的帧段在所述待处理片段中的帧段数据进行编码计算得到的。
4.根据权利要求3所述的数据处理方法,其特征在于,各所述依赖帧的获取方式包括:从音频帧向前每个第一预定间隔获取一个向前的依赖帧,直至获得第一预定数量的向前的依赖帧;以及,从音频帧向后每个第二预定间隔获取一个向后的依赖帧,直至获得第二预定数量的向后的依赖帧。
5.根据权利要求3所述的数据处理方法,其特征在于,所述可复用结果数据包括:对应所述重叠部分中的各目标音频帧形成的部分编码计算结果;其中,对应所述目标音频帧获得的帧段数据不存在实际音频数据缺失。
6.根据权利要求5所述的数据处理方法,其特征在于,所述实际音频数据缺失包括:在所述帧段数据的计算依据中包含标准数据。
7.一种数据处理方法,其特征在于,应用于音频处理模型对音频流的各个待处理片段的编码计算,所述音频处理模型有多个编码层,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段;所述数据处理方法包括:
获取对第一待处理片段经每个编码层进行编码计算输出的第一编码计算结果;
在每个编码层对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取相同编码层的第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果,其中,所述重叠部分是音频流上的一个或多个的音频帧,且同时存在于第一待处理片段和第二待处理片段上;
所述可复用结果数据为所述重叠部分位于不同待处理片段中得到的相同的部分编码计算结果,如果不同待处理片段中,所述重叠部分对应的部分编码计算结果不一致,则需加以舍弃而不能作为可复用数据。
8.根据权利要求7所述的数据处理方法,其特征在于,所述音频流中的每个待处理片段包括:根据音频流片段中每个音频帧得到的帧数据。
9.根据权利要求7或8所述的数据处理方法,其特征在于,所述编码计算包括:
每个编码层根据输入数据获得对应每个音频帧的编码计算结果,以组成本编码层输出的所述待处理片段的编码计算结果;
其中,首个编码层的输入数据为所述待处理片段,非首个编码层的输入数据为上一编码层输出的编码计算结果;每个编码层所获得的对应每个音频帧的编码计算结果,是根据所述音频帧及其前后获取到的每个依赖帧组成的帧段对应在该编码层的输入数据中的帧段相关数据进行编码计算得到的。
10.根据权利要求9所述的数据处理方法,其特征在于,各所述依赖帧的获取方式包括:从音频帧向前每个第一预定间隔获取一个向前的依赖帧,直至获得第一预定数量的向前的依赖帧;以及,从音频帧向后每个第二预定间隔获取一个向后的依赖帧,直至获得第二预定数量的向后的依赖帧。
11.根据权利要求9所述的数据处理方法,其特征在于,与当前编码层相应的可复用结果数据包括:对应所述重叠部分中的各目标音频帧形成的部分编码计算结果;其中,对应所述目标音频帧获得的帧段相关数据不存在实际音频数据缺失。
12.根据权利要求11所述的数据处理方法,其特征在于,所述实际音频数据缺失包括以下至少一种情形:1)在所述帧段相关数据的计算依据中包含标准数据;2)在所述帧段相关数据的计算依据中包含:在之前编码层的编码计算中加入过标准数据的计算结果。
13.根据权利要求7所述的数据处理方法,其特征在于,所述音频处理模型包括语音识别模型。
14.一种数据处理装置,其特征在于,应用于音频流的各个待处理片段的编码计算,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段;所述数据处理装置包括:
数据获取模块,用于获取对第一待处理片段进行编码计算得到的第一编码计算结果;
数据计算模块,用于在对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取所述第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果,其中,所述重叠部分是音频流上的一个或多个的音频帧,且同时存在于第一待处理片段和第二待处理片段上;
所述可复用结果数据为所述重叠部分位于不同待处理片段中得到的相同的部分编码计算结果,如果不同待处理片段中,所述重叠部分对应的部分编码计算结果不一致,则需加以舍弃而不能作为可复用数据。
15.一种数据处理装置,其特征在于,应用于音频处理模型对音频流的各个待处理片段的编码计算,所述音频处理模型有多个编码层,所述各个待处理片段包括在先的第一待处理片段和在后的第二待处理片段;所述数据处理装置包括:
数据获取模块,用于获取对第一待处理片段经每个编码层进行编码计算输出的第一编码计算结果;
数据计算模块,用于在每个编码层对与第一待处理片段在音频流上存在重叠部分的第二待处理片段进行编码计算以得到第二编码计算结果时,获取相同编码层的第一编码计算结果中对应于所述重叠部分的可复用结果数据,以复用于形成所述第二编码计算结果,其中,所述重叠部分是音频流上的一个或多个的音频帧,且同时存在于第一待处理片段和第二待处理片段上;
所述可复用结果数据为所述重叠部分位于不同待处理片段中得到的相同的部分编码计算结果,如果不同待处理片段中,所述重叠部分对应的部分编码计算结果不一致,则需加以舍弃而不能作为可复用数据。
16.一种计算机设备,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至13中任一项所述数据处理方法的步骤。
17.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序运行时执行权利要求1至13中任一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010875024.7A CN111798859B (zh) | 2020-08-27 | 2020-08-27 | 数据处理方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010875024.7A CN111798859B (zh) | 2020-08-27 | 2020-08-27 | 数据处理方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111798859A CN111798859A (zh) | 2020-10-20 |
CN111798859B true CN111798859B (zh) | 2024-07-12 |
Family
ID=72834029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010875024.7A Active CN111798859B (zh) | 2020-08-27 | 2020-08-27 | 数据处理方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111798859B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110177275A (zh) * | 2019-05-30 | 2019-08-27 | 广州酷狗计算机科技有限公司 | 视频编码方法及装置、存储介质 |
CN110619871A (zh) * | 2018-06-20 | 2019-12-27 | 阿里巴巴集团控股有限公司 | 语音唤醒检测方法、装置、设备以及存储介质 |
CN111341306A (zh) * | 2020-02-14 | 2020-06-26 | 东南大学 | 基于语音特征复用的关键词唤醒cnn的存储和计算压缩方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02287399A (ja) * | 1989-04-28 | 1990-11-27 | Fujitsu Ltd | ベクトル量子化制御方式 |
JP3041240B2 (ja) * | 1996-05-28 | 2000-05-15 | 愛知電子株式会社 | テレビジョン信号の音声秘話伝送方式の端末装置 |
US6374222B1 (en) * | 1998-08-12 | 2002-04-16 | Texas Instruments Incorporated | Method of memory management in speech recognition |
JP4518714B2 (ja) * | 2001-08-31 | 2010-08-04 | 富士通株式会社 | 音声符号変換方法 |
JP4930069B2 (ja) * | 2007-01-22 | 2012-05-09 | 富士通株式会社 | ブロックデータ合成装置 |
CN106919977B (zh) * | 2015-12-25 | 2022-05-17 | 科大讯飞股份有限公司 | 一种前馈序列记忆神经网络及其构建方法和系统 |
CN108346428B (zh) * | 2017-09-13 | 2020-10-02 | 腾讯科技(深圳)有限公司 | 语音活动检测及其模型建立方法、装置、设备及存储介质 |
CN108564942B (zh) * | 2018-04-04 | 2021-01-26 | 南京师范大学 | 一种基于敏感度可调的语音情感识别方法及系统 |
CN109712628B (zh) * | 2019-03-15 | 2020-06-19 | 哈尔滨理工大学 | 一种基于rnn建立的drnn降噪模型的语音降噪方法及语音识别方法 |
CN110070882B (zh) * | 2019-04-12 | 2021-05-11 | 腾讯科技(深圳)有限公司 | 语音分离方法、语音识别方法及电子设备 |
-
2020
- 2020-08-27 CN CN202010875024.7A patent/CN111798859B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110619871A (zh) * | 2018-06-20 | 2019-12-27 | 阿里巴巴集团控股有限公司 | 语音唤醒检测方法、装置、设备以及存储介质 |
CN110177275A (zh) * | 2019-05-30 | 2019-08-27 | 广州酷狗计算机科技有限公司 | 视频编码方法及装置、存储介质 |
CN111341306A (zh) * | 2020-02-14 | 2020-06-26 | 东南大学 | 基于语音特征复用的关键词唤醒cnn的存储和计算压缩方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111798859A (zh) | 2020-10-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11257481B2 (en) | Multi-task training architecture and strategy for attention-based speech recognition system | |
CN109785824B (zh) | 一种语音翻译模型的训练方法及装置 | |
CN107391646B (zh) | 一种视频图像的语义信息提取方法及装置 | |
JP2019067408A (ja) | イメージセグメンテーションのための学習方法及び学習装置、そしてこれを利用したイメージセグメンテーション方法及びイメージセグメンテーション装置 | |
KR100888804B1 (ko) | 동영상 데이터의 동일성 판단 및 동일 구간 검출 방법 및장치 | |
CN113488028B (zh) | 基于快速跳跃解码的语音转写识别训练解码方法及系统 | |
US11837245B2 (en) | Deep learning segmentation of audio using magnitude spectrogram | |
WO2019138897A1 (ja) | 学習装置および方法、並びにプログラム | |
CN113674733A (zh) | 用于说话时间估计的方法和设备 | |
CN113380262A (zh) | 一种基于注意力机制与扰动感知的声音分离方法 | |
CN113782042B (zh) | 语音合成方法、声码器的训练方法、装置、设备及介质 | |
CN111798859B (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
US11521630B2 (en) | Deep learning segmentation of audio using magnitude spectrogram | |
CN115019785A (zh) | 流式语音识别方法、装置、电子设备及存储介质 | |
CN112446461A (zh) | 一种神经网络模型训练方法及装置 | |
CN111048065B (zh) | 文本纠错数据生成方法及相关装置 | |
CN115018059A (zh) | 数据处理方法及装置、神经网络模型、设备、介质 | |
CN111325068B (zh) | 基于卷积神经网络的视频描述方法及装置 | |
CN114596876B (zh) | 声源分离方法及装置 | |
CN116403564B (zh) | 一种音频编辑方法及装置、电子设备及存储介质 | |
CN116664731B (zh) | 人脸动画生成方法及装置、计算机可读存储介质、终端 | |
CN113192491B (zh) | 声学模型生成方法、装置、计算机设备及存储介质 | |
CN112562635B (zh) | 解决语音合成中拼接处产生脉冲信号的方法、装置及系统 | |
CN116665012B (zh) | 图像字幕自动生成方法、装置及存储介质 | |
CN117156081B (zh) | 说话人视频的编辑帧生成方法、装置、电子设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |