专利名称:音频数据的编码方法及解码方法
技术领域:
本发明涉及智能信息处理领域,尤其涉及一种音频数据的编码方法及解码方法。
背景技术:
语音作为人类交流信息的主要手段之一,语音编码一直在通信系统中占据重要的地位。语音的数据量非常庞大,不便于直接进行传输和存储处理,同时很多领域对语音的压缩传输率要求很高,因此必须对语音进行合理有效的处理,以减少语音信号的传输速率和存储量,即进行语音压缩编码,因此极低速率语音编码已经越来越受到关注,语音信号中有很大的信息冗余,压缩的每一个比特都意味着节省开支,低速率数字语音传输具有重大的实用价值,高质量的低速率语音编码技术在移动通信、卫星通信、多媒体技术以及IP电话通信中得到了普遍应用。目前已有的极低速率语音编码方法是在现有的参数语音编码方法的基础上进行进一步压缩,实现极低速率下的语音编码。将相邻帧联合编码和多级矢量量化等技术引入到经典的参数编码方法后,可以使语音在600bps速率下传输,接收端生成的语音仍具有可懂性。如果进一步降低语音传输速率(低于300bps),语音的音质将大大降低,这种方法将难以适用。通过传统的语音识别系统识别出对应的文本信息后进行传输,可以将传输速率降至200bps以下,但是采用这种方法识别出的文本难以保证较高的准确率,尤其在噪声环境下这一问题更加突显。
发明内容
(一 )要解决的技术问题为解决上述的一个或多个问题,本发明提供了一种音频数据的编码方法及解码方法,以在低编码速率的情况下,保持较高的语音音质。( 二 )技术方案根据本发明的一个方面,提供了一种音频数据的编码方法。该编码方法包括获取原始音频,通过短时能量和短时过零率进行端点检测,剔除原始音频中的非音频数据,获得语音段数据;从语音段数据提取特征参数,通过已训练的隐马尔科夫模型和Viterbi算法,对每帧语音段数据进行状态识别,确定状态序列和状态时长;以及对状态序列和状态时长进行编码,生成音频数据包。根据本发明的另一个方面,还提供了一种音频数据的解码方法。该解码方法包括对接收到的音频数据包进行解码,提取状态序列以及各状态时长参数;以及对状态序列和状态时长通过训练好的隐马尔科夫模型和动态参数生成算法确定每帧数据的谱参数和基频,通过声码器生成音频数据。(三)有益效果从上述技术方案可以看出,本发明音频数据的编码方法及解码方法具有以下有益效果
(I)采用基于状态传输的方法进行语音编码,发送端仅需要对识别出的状态序列和每个状态的时长进行编码传输。通过定量的分析可以确定其编码速率低于300bps,编码速率低于传统的基于参数的语音编码方法。(2)接收端是对状态序列和各状态的时长利用隐马尔科夫模型确定语音参数,通过声码方法生成语音,去除了噪声的干扰。因此,输出的语音比传统的基于参数的语音编码方法更加清晰、可懂。(3)传输的音频数据不受说话人、文本内容、声音采集环境的限制,因此系统具有高鲁棒性,便于实际应用。
图1为根据本发明实施例的音频数据的编码方法及解码方法的整体结构示意图;图2为图1所示音频数据的编码方法中剔除非语音帧的结构示意图;图3为图1所示音频数据的编码方法中滤除背景噪声的结构示意图;图4为图1所示音频数据的编码方法中对预处理后的音频数据提取特征参数并识别状态序列的结构示意图;图5为图1所示音频数据的编码方法中对状态序列和各状态时长进行压缩传输的结构示意图;图6为图1所示音频数据解码方法中接收数据并对数据包进行解码的结构示意图;图7为图1所示音频数据解码方法中通过状态序列、状态时长和隐马尔科夫模型生成音频数据的结构示意图;图8为本发明实施例的音频数据的编码/解码方法系统中隐马尔科夫模型的离线训练过程的示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。需要说明的是,在附图或说明书描述中,相似或相同的部分都使用相同的图号。附图中未绘示或描述的实现方式,为所属技术领域中普通技术人员所知的形式。另外,虽然本文可提供包含特定值的参数的示范,但应了解,参数无需确切等于相应的值,而是可在可接受的误差容限或设计约束内近似于相应的值。本发明提出了一种基于状态传输的音频数据的编解码机制。该机制分为编码方法和解码方法。编码方法将采集到的语音转换成状态序列,通过信道进行传输。解码方法从信道中获取状态序列,对状态序列进行解析,恢复原始的语音,实现了音频数据在极低码率下的传输。本发明中提供了一种音频数据的编码方法。如图1所示,本编码方法包括对不同环境下的原始音频,首先通过端点检测技术剔除非音频数据;针对不同类型的噪声,采用小波去噪的方法滤除噪声,尽可能降低噪声的干扰;对于经过端点检测和降噪后的音频数据,提取特征参数并通过隐马尔科夫模型对状态序列进行识别,将语音信号转换成状态序列以及每个状态的时长;对识别后的状态信息进行编码,加载到通信系统中进行传输。该编码方法包括端点检测步骤、语音增强步骤、状态识别步骤、数据编码步骤。下面对各个功能步骤采用的方法进行详细介绍。步骤S110,获取原始音频,通过短时能量和短时过零率实现端点检测,剔除原始音频中的非音频数据,获得语音段数据,后续只对语音段数据进行状态识别、编码和传输,可以进一步降低系统对音频的传输速率;利用短时能量可以有效的检测出浊音,利用短时过零率可以有效的检测出清音,从而减少数据处理量,拒绝非语音信号。如图2所示,通过短时能量和短时过零率实现端点检测的过程如下子步骤S112,将原始音频等间隔分成若干子段,计算每段原始音频的短时能量和短时过零率;子步骤S114,将每段原始音频的短时能量和短时过零率分别与预先设定的短时能量和短时过零率的两个门限进行比较,根据比较结果将采集的音频数据分为静音段、过渡段和语音段,去除静音段和过渡段,仅保留语音段数据。如果短时能量或短时过零率超过低门限,则开始标记起始点进入过渡段,进入过渡段后当两个参数都回落到低门限以下则恢复到静音状态,而在过渡段中两个参数的任意一个超过高门限,即被认为进入语音段。处在语音段时,如果两个参数都降到低门限以下,并且持续时间超过阈值,则语音段的终点确定。处理后的音频只包括语音段的数据。步骤S120,采取小波去噪方法降低语音段数据中的噪声干扰;系统在实际应用时,采集的声音不可避免存在着各种噪声。可能包括由战斗机引起的周期性噪声、由于爆炸撞击引起的冲激噪声、由于室外气流引起的宽带噪声以及周边的语音干扰。相比其它去噪方法,小波变换在低信噪比情况下的去噪效果较好,去噪后的语音信号识别率较高,对时变信号和突变信号去噪效果尤其明显。如图3所示,采取小波去噪方法降低噪声干扰的步骤包括子步骤S122,对语音段数据进行3层小波分解,分解成3个高频部分和I个低频部分,每个部分对应一组小波系数;子步骤S124,对高频部分进行二次小波分解,进一步细化各高频部分的频带,二次分解后得到的各低尺度高频部分,其小波系数基本由噪声控制;子步骤S126,将噪声小波系数占主导的分量剔除,保留语音信号占主导的小波系数,即将二次分解后得到的各低尺度高频部分剔除;子步骤S128,利用小波重构算法恢复原始信号,实现对语音段数据的去噪。步骤S130,对去噪的语音段数据提取特征参数,通过已训练的隐马尔科夫模型和Viterbi算法,对每帧音频数据进行状态识别,确定状态序列和状态时长;如图4所示,状态识别步骤具体实现方法如下子步骤S132,对于每帧音频数据,对其进行特征参数提取,提取梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient, MFCC);MFCC是基于人耳听觉提出来的,广泛应用于语音信号处理的各个领域,因此谱参数选择MFCC。这里先提取静态参数,然后分别计算它们的一阶差分和二阶差分,最终提取的参数是39维,利用这39维属性进行后续状态的识别。子步骤S134,对于去噪后的语音段数据,利用提取的每帧音频数据的MFCC,通过训练好的隐马尔科夫模型和Viterbi算法进行状态识别,确定最优状态序列;子步骤S136,对识别出的状态序列进行纠错处理,确定最终生成的状态序列以及各状态的时长,从而保证状态识别的准确性。例如连续3帧数据的状态识别结果为AXA,则需更正为AAA。本领域技术人员应当清楚,状态层是处于音素层和语音参数层之间的层次,如果系统只对状态进行识别和传输,不仅可以提高识别的准确率,而且相比传统的参数语音编码方法,可以进一步降低语音的传输速率。无论在编码方法,还是在解码方法中,都需要用到隐马尔科夫模型,以下对隐马尔科夫模型的训练步骤进行说明。模型训练步骤选择覆盖不同说话人、不同主题的音库进行隐马尔科夫模型训练,这样可以保证模型的鲁棒性,同时音库应覆盖各种声韵现象。每个音频文件需要对应一个标注文件,每个标注文件需要包含相应音频所对应的音素信息。对于训练语料首先需要剔除非音频数据并滤除噪声,然后进行隐马尔科夫模型训练;采用步骤SllO中的端点检测方法剔除非音频数据,采用步骤S120中的语音增强方法滤除噪声。如图8所示,模型训练过程包括步骤S310,对剔除非音频数据并滤除噪声的训练语料提取谱参数和基频,提取的谱参数是39维MFCC。每个音素对应一个隐马尔科夫模型,模型训练时每个音素分成5个状态,对于谱参数,每个状态对应一个多高斯分布。对于基频需要分清音和浊音两种情况考虑,采用多空间分布进行训练,利用谱参数和基频建立隐马尔科夫模型。根据特征参数类型的不同采用多个流进行训练。模型中包含4个流,其中I个流对应于谱参数,另外3个流分别对应于基频以及基频的一阶和二阶差分。步骤S320,利用提取的谱参数和基频进行模型的初始训练,确定模型的初始概率、观测概率和转移概率。每个音素对应一个隐马尔科夫模型,每个隐马尔科夫模型包含5个状态,不同状态对应于不同的分布。采用等分法确定不同状态和不同音素之间的初始边界,并训练得到模型的初始参数,然后通过Viterbi算法调整不同状态之间边界,并重新训练更新模型参数,经过多次迭代确定模型初始概率、观测概率和转移概率即完成模型的初始训练。步骤S330,对状态进行聚类,根据谱参数、基频等声学特征将相似的状态归为I类。步骤S340,进行模型的优化训练,更新模型参数。根据状态聚类的结果,更新模型的初始概率、观测概率和转移概率,然后通过Viterbi算法重新调整不同状态之间边界,经过多次迭代优化模型参数后确定最终的隐马尔科夫模型。最终得到的隐马尔科夫模型包括4个流,在进行状态识别时只使用其中I个与谱参数相关的流。在通过状态生成音频数据时需要同时使用4个流。至此,隐马尔科夫模型训练过程结束。步骤S140,对每个语音段的状态序列和状态时长进行编码,生成音频数据包。
数据编码过程如图5所示,具体实现方法如下子步骤S142,对状态序列以及状态时长根据相应的码值进行编码,传输对应码值的编号,其中每个状态对应一个码值,不同时长对应于相应的码值。子步骤S144,将状态序列及状态时长的码值组成音频数据包,其中,数据包第一位作为同步头,每个状态信息(类别和时长)按照时间顺序依次排列,数据包最后一位作为奇偶校验位。采用上述方法进行语音编码,通过定量的分析可以确定传输速率可降到低于300bps。在发送端完成数据编码后,将数据包加载到信道中进行传输。本发明中提供了一种音频数据的解码方法,如图1所示。该解码方法用于在保证通信过程中数据正确传输的前提下对数据包进行解码,提取状态序列以及各状态时长参数;根据隐马尔科夫模型和动态参数生成算法确定每帧数据的谱参数和基频,利用声码器生成音频数据。该解码方法还可以对语音增加适当的背景噪声,使传输的语音听起来是在真实的环境下采集的。该解码方法还包括数据解码步骤、音频生成步骤。步骤S210,对接收到的音频数据包进行解码,提取状态序列以及各状态时长参数。如图6所示,数据解码步骤的具体实现方法如下子步骤S212,对音频数据包的校验信息进行检验,判断同步头和奇偶校验位的正确性。子步骤S214,在确定数据包在通信系统中正确传输后,继续对状态序列和状态时长进行解码,通过相应的状态码值和时长码值依次解析各状态的类别和时长。对接收到的状态序列需要进行进一步的检验,尽可能避免错误信息的传递。如果状态序列中连续两个状态相同,说明该数据包在传输过程中已经被破坏,不再进行后续处理。步骤S220,对状态序列和状态时长通过训练好的隐马尔科夫模型和动态参数生成算法确定每帧数据的谱参数和基频,通过声码器生成音频数据;后对其进行后处理,使最终的音频数据像是在真实环境下采集的。如图7所示,音频生成步骤具体实现方法如下子步骤S222,在已知状态序列以及各状态时长的基础上,通过训练好的隐马尔科夫模型和动态参数生成算法计算最优的参数序列。本子步骤中,需要同时考虑了谱参数和基频的静态特征以及一阶和二阶差分的动态特征,避免了生成的参数在状态模型衔接处的不连续现象,保证了生成参数的平滑性。子步骤S224,利用上述的最优参数序列选择梅尔对数谱近似(Mel LogSpectrumApproximation,简称MLSA)的合成声码器生成音频数据。此时得到的音频数据已经基本滤除了真实环境下的背景噪声。子步骤S226,在完成从状态序列和状态时长到音频的转换后,为了增加语音的真实感,需要对语音增加适当的背景噪声,使传输的语音听起来像是在真实的环境下采集的。为了不影响语音的可懂度,应选择平稳的随机噪声,信噪比尽可能的高。综上所述,本发明提出了一种语音编码及解码方法,通过语音编码将采集到的语音转换成状态序列,通过信道进行传输,通过语音解码对状态序列进行解析,恢复原始的语音,实现了音频数据低码率下的传输。解码后的语音清晰、可懂,同时系统具有高鲁棒性,不受说话人、文本内容、声音采集环境的限制,便于实际应用。需要说明的是,上述对各部件的实现方式并不仅限于实施方式中提到的各种实现方式,本领域的普通技术人员可对其进行简单地熟知地替换,例如(I)状态识别和音频生成用到的谱参数是MFCC,可以用其它参数替代,如使用不同阶数的线谱对(Linear Spectrum Pair, LSP)参数。(2)建立隐马尔科夫模型过程中,规定的将每个音素分成5个状态也可以进行调整,如声母包含3个状态,韵母包含5个状态。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种音频数据的编码方法,其特征在于,包括 获取原始音频,通过短时能量和短时过零率进行端点检测,剔除所述原始音频中的非音频数据,获得语音段数据; 从所述语音段数据提取特征参数,通过已训练的隐马尔科夫模型和Viterbi算法,对每帧语音段数据进行状态识别,确定状态序列和状态时长;以及对所述状态序列和状态时长进行编码,生成音频数据包。
2.根据权利要求1所述的编码方法,其特征在于,所述通过短时能量和短时过零率进行端点检测,剔除原始音频中的非音频数据包括 将原始音频等间隔分成若干子段,计算每段原始音频的短时能量和短时过零率;以及将每段原始音频的短时能量和短时过零率分别与预先设定的短时能量和短时过零率的两个门限进行比较,根据比较结果将采集的音频数据分为静音段、过渡段和语音段,去除静音段和过渡段,仅保留语音段数据。
3.根据权利要求1所述的编码方法,其特征在于,所述对去噪的语音段数据提取特征参数,通过已训练的隐马尔科夫模型和Viterbi算法,对每帧语音段数据进行状态识别,确定状态序列和状态时长的步骤包括 对于每帧音频数据,对其进行特征参数提取,提取梅尔频率倒谱系数; 利用提取的每帧音频数据的梅尔频率倒谱系数,通过训练好的隐马尔科夫模型和Viterbi算法进行状态识别,确定最优状态序列;以及 对识别出的状态序列进行纠错处理,确定最终生成的状态序列以及各状态的时长,从而保证状态识别的准确性。
4.根据权利要求3所述的编码方法,其特征在于,所述通过训练好的隐马尔科夫模型和Viterbi算法进行状态识别的步骤之前还包括 对剔除非音频数据并滤除噪声的训练语料提取谱参数和基频; 利用提取的谱参数和基频进行模型的初始训练,确定模型的初始概率、观测概率和转移概率,每个音素对应一个隐马尔科夫模型,每个隐马尔科夫模型包含5个状态,不同状态对应于不同的分布; 对状态进行聚类,根据谱参数、基频将相似的状态归为I类;以及根据状态聚类的结果,更新模型的初始概率、观测概率和转移概率,通过Viterbi算法重新调整不同状态之间边界,经过多次迭代优化模型参数后确定最终的隐马尔科夫模型。
5.根据权利要求1所述的编码方法,其特征在于,所述对每个语音段数据的状态序列和状态时长进行编码包括 对状态序列以及状态时长根据相应的码值进行编码,传输对应码值的编号,其中每个状态对应一个码值,不同时长对应于相应的码值;以及 将状态序列及状态时长的码值组成音频数据包,其中,数据包第一位作为同步头,每个状态信息按照时间顺序依次排列,数据包最后一位作为奇偶校验位。
6.根据权利要求1至5中任一项所述的编码方法,其特征在于,从语音段数据提取特征参数的步骤之前还包括 采取小波去噪方法降低语音段数据中的噪声干扰。
7.一种对权利要求1至5中任一项编码方法获得的音频数据包进行解码的方法,其特征在于,包括 对接收到的音频数据包进行解码,提取状态序列以及各状态时长参数;以及 对状态序列和状态时长通过训练好的隐马尔科夫模型和动态参数生成算法确定每帧数据的谱参数和基频,通过声码器生成音频数据。
8.根据权利要求7所述的解码方法,其特征在于,所述对接收到的音频数据包进行解码,提取状态序列以及各状态时长参数的步骤包括 对音频数据包的校验信息进行检验,判断同步头和奇偶校验位的正确性;以及 在确定数据包在通信系统中正确传输后,对状态序列和状态时长进行解码,通过相应的状态码值和时长码值依次解析各状态的类别和时长。
9.根据权利要求7所述的解码方法,其特征在于,所述对状态序列和状态时长通过训练好的隐马尔科夫模型和动态参数生成算法确定每帧数据的谱参数和基频,通过声码器生成音频数据的步骤包括 在已知状态序列以及各状态时长的基础上,通过训练好的隐马尔科夫模型和动态参数生成算法计算最优的参数序列;以及 利用上述的最优参数序列通过声码器生成音频数据。
10.根据权利要求7至9中任一项所述的解码方法,其特征在于,所述生成音频数据的步骤之后还包括 对音频数据增加适当的背景噪声,以增加语音的真实感。
全文摘要
本发明提供了一种音频数据的编码方法和解码方法。该编码方法包括获取原始音频,通过短时能量和短时过零率进行端点检测,剔除原始音频中的非音频数据,获得语音段数据;从语音段数据提取特征参数,通过已训练的隐马尔科夫模型和Viterbi算法,对每帧语音段数据进行状态识别,确定状态序列和状态时长;以及对状态序列和状态时长进行编码,生成音频数据包。本发明可以在低编码速率的情况下,保持较高的语音音质。
文档编号G10L19/24GK103035238SQ201210487489
公开日2013年4月10日 申请日期2012年11月27日 优先权日2012年11月27日
发明者陶建华, 刘斌, 潘诗锋 申请人:中国科学院自动化研究所
音频数据的编码方法及解码方法
相关推荐
专利名称:彩色装饰落地灯的制作方法技术领域:本实用新型涉及一种灯具,尤其是一种帘式的彩色装饰落地灯。背景技术:随着人们生活水平的逐渐提高,对精神生活的要求也随之提高,对家居环境的要求也越来越高,目前的彩色装饰落地灯多为在灯杆上直接设置光源,
监控通话的方法和装置制造方法【专利摘要】本发明是关于一种监控通话的方法和装置,属于通信领域。所述方法应用于第一终端,包括:监听所述第一终端与第二终端的通话中的语音信息;将所述语音信息与指定关键词进行匹配;如果所述语音信息与所述指定关键词匹配
用于对音频信号的时间段进行编码和解码的变换音频编解码器和方法【专利摘要】用于对音频信号的时间段进行有效编码解码的方法和设备。该方法包括:导出与音频信号的时间段相关联的残差向量在频率刻度中的位置的指示符z,以及导出与残差向量的结构量有关的度量
专利名称:用于写入和再生数据的装置及方法技术领域:本发明涉及一种数据写入和再生装置及方法,用于把写入到诸如音乐CD(小型唱盘)的可移动记录介质中的音频数据传送并存储到内置存储介质中,其存储数据速率高于播放音乐CD所规定的速率。一种包含有许多
专利名称::一种量化编解码方法及装置的制作方法技术领域::本发明涉及编解码技术领域:,尤其涉及一种编解码过程中的量化实现方案。背景技术::随着多媒体业务的快速发展,不仅需要提高编码的效率和实时性,同时还需要对针对音频等业务的编码带宽进行扩展
专利名称:新型室内悬挂灯的制作方法技术领域:本实用新型涉及一种照明灯具,特别涉及用于室内的悬挂式照明灯。背景技术:传统的大型室内悬挂照明灯包括灯罩、上电器箱、镇流器和金属卤化物灯等。这种照明灯存在着以下两方面的缺点,首先是为了解决散热的问题