一种语音编码方法、装置、设备、存储介质及产品转让专利

申请号 : CN202111129351.9

文献号 : CN113571072B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 梁俊斌

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请提供了一种语音编码方法、装置、设备、存储介质及产品;该语音编码方法包括:获取前N帧噪声语音和每帧噪声语音对应的感知能量,其中,感知能量与听觉感知上的强弱程度相关,N为正整数;基于感知能量,确定前N帧噪声语音对应的标准感知能量;确定与标准感知能量负相关的噪声编码间隔;基于噪声编码间隔,对M帧噪声语音进行噪声编码,其中,M帧噪声语音为前N帧噪声语音之后的语音,编码后的M帧噪声语音用于生成舒适噪声,M为正整数。通过本申请,能够提升舒适噪声的生成质量。

权利要求 :

1.一种语音编码方法,其特征在于,所述方法包括:获取前N帧噪声语音和每帧所述噪声语音对应的感知能量,其中,所述感知能量与听觉感知上的强弱程度相关,N为正整数;

基于所述感知能量,确定前N帧所述噪声语音对应的标准感知能量;

确定与所述标准感知能量负相关的噪声编码间隔;

基于所述噪声编码间隔,对M帧所述噪声语音进行噪声编码,其中,M帧所述噪声语音为前N帧所述噪声语音之后的语音,编码后的M帧所述噪声语音用于生成舒适噪声,M为正整数。

2.根据权利要求1所述的方法,其特征在于,所述获取前N帧噪声语音和每帧所述噪声语音对应的感知能量之前,所述方法还包括:在噪声语音帧序列中,获取每帧所述噪声语音中的每个语音频点对应的频点能量、频点声压和频点频率,其中,所述噪声语音帧序列包括前N帧所述噪声语音和M帧所述噪声语音,每帧所述噪声语音包括至少一个所述语音频点;

基于所述频点声压和所述频点频率,确定频点响度,其中,所述频点响度为所述噪声语音在听觉感知上的强弱程度;

确定与所述频点响度正相关的能量权重;

基于所述能量权重调整所述频点能量,得到频点感知能量;

将与至少一个所述语音频点对应的至少一个所述频点感知能量,组合为所述噪声语音帧序列中的每帧所述噪声语音对应的所述感知能量。

3.根据权利要求2所述的方法,其特征在于,所述在噪声语音帧序列中,获取每帧所述噪声语音中的每个语音频点对应的频点能量、频点声压和频点频率之前,所述方法还包括:获取待检测语音,其中,所述待检测语音为采集到的话音;

对所述待检测语音进行语音动态检测;

当基于语音动态检测结果确定所述待检测语音中的语音帧序列为噪声信号时,将所述语音帧序列确定为所述噪声语音帧序列。

4.根据权利要求3所述的方法,其特征在于,所述对所述待检测语音进行语音动态检测之后,所述方法还包括:

当基于所述语音动态检测结果确定所述待检测语音中的所述语音帧序列为话音信号时,对所述语音帧序列进行语音编码,其中,所述语音编码对应的编码码率大于所述噪声编码对应的编码码率。

5.根据权利要求2至4任一项所述的方法,其特征在于,所述在噪声语音帧序列中,获取每帧所述噪声语音中的每个语音频点对应的频点能量、频点声压和频点频率,包括:对所述噪声语音帧序列进行加窗处理,得到每帧所述噪声语音;

获取每帧所述噪声语音中的每个所述语音频点对应的所述频点能量、所述频点声压和所述频点频率。

6.根据权利要求2至4任一项所述的方法,其特征在于,所述基于所述频点声压和所述频点频率,确定频点响度,包括:基于等响关系确定所述语音频点对应的插值参数,其中,所述等响关系为等响度条件下声压与频率的关系;

基于所述插值参数和所述频点频率,确定所述语音频点对应的频点插值;

对所述频点声压和所述频点插值进行整合,得到所述频点响度。

7.根据权利要求2至4任一项所述的方法,其特征在于,所述确定与所述频点响度正相关的能量权重,包括:

获取所述频点响度与第一阈值对应的第一比值;

对第二阈值的所述第一比值的次方进行计算,得到指数值;

将所述指数值与第三阈值对应的第二比值,确定为与所述频点响度正相关的所述能量权重。

8.根据权利要求1至4任一项所述的方法,其特征在于,所述确定与所述标准感知能量负相关的噪声编码间隔,包括:对所述标准感知能量进行转换,得到待对比感知能量;

当所述待对比感知能量小于第一能量阈值时,确定包括第一噪声编码间隔的所述噪声编码间隔;

当所述待对比感知能量大于等于所述第一能量阈值且小于第二能量阈值时,确定包括第二噪声编码间隔的所述噪声编码间隔,其中,所述第一能量阈值小于所述第二能量阈值,所述第一噪声编码间隔大于所述第二噪声编码间隔;

当所述待对比感知能量大于等于所述第二能量阈值且小于第三能量阈值时,确定包括第三噪声编码间隔的所述噪声编码间隔,其中,所述第二能量阈值小于所述第三能量阈值,所述第二噪声编码间隔大于所述第三噪声编码间隔;

当所述待对比感知能量大于第三能量阈值时,确定包括第四噪声编码间隔的所述噪声编码间隔,其中,所述第三噪声编码间隔大于所述第四噪声编码间隔。

9.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述噪声编码间隔,对M帧所述噪声语音进行噪声编码,包括:获取上一编码帧,其中,所述上一编码帧为上一次进行噪声编码的所述噪声语音对应的帧;

基于所述噪声编码间隔和所述上一编码帧,确定下一编码帧;

从M帧所述噪声语音中,确定所述下一编码帧对应的所述噪声语音,得到待编码噪声语音,对所述待编码噪声语音进行噪声编码。

10.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述噪声编码间隔,对M帧所述噪声语音进行噪声编码之后,所述方法还包括:向解码设备发送编码后的M帧所述噪声语音,以使所述解码设备基于编码后的M帧所述噪声语音生成所述舒适噪声,其中,所述解码设备用于播放所述舒适噪声。

11.根据权利要求1至4任一项所述的方法,其特征在于,所述基于所述噪声编码间隔,对M帧所述噪声语音进行噪声编码之后,所述方法还包括:存储编码后的M帧所述噪声语音;

响应于语音播放请求,对存储的编码后的M帧所述噪声语音进行解码,得到所述舒适噪声;

播放所述舒适噪声。

12.一种语音编码装置,其特征在于,所述语音编码装置包括:语音获取模块,用于获取前N帧噪声语音和每帧所述噪声语音对应的感知能量,其中,所述感知能量与听觉感知上的强弱程度相关,N为正整数;

能量确定模块,用于基于所述感知能量,确定前N帧所述噪声语音对应的标准感知能量;

间隔确定模块,用于确定与所述标准感知能量负相关的噪声编码间隔;

噪声编码模块,用于基于所述噪声编码间隔,对M帧所述噪声语音进行噪声编码,其中,M帧所述噪声语音为前N帧所述噪声语音之后的语音,编码后的M帧所述噪声语音用于生成舒适噪声,M为正整数。

13.一种语音编码设备,其特征在于,所述语音编码设备包括:存储器,用于存储可执行指令;

处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至11任一项所述的语音编码方法。

14.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令用于被处理器执行时,实现权利要求1至11任一项所述的语音编码方法。

说明书 :

一种语音编码方法、装置、设备、存储介质及产品

技术领域

[0001] 本申请涉及计算机应用领域中的语音处理技术,尤其涉及一种语音编码方法、装置、设备、存储介质及产品。

背景技术

[0002] 非连续传输(Discontinuous Transmission,DTX)是在通过语音动态检测确定语音为噪声信号时,采用非连续的方式对噪声语音进行编码和发送的方式;通过DTX,能够降
低语音编码的资源消耗。
[0003] 一般来说,为了实现DTX中对噪声语音的非连续编码,通常采用固定的间隔对噪声语音进行噪声编码。然而上述实现DTX中对噪声语音的非连续编码过程中,由于噪声编码的
时间间隔固定,从而在每个时间间隔对应的时间段中,基于编码的噪声语音生成舒适噪声
时,所获得的舒适噪声是稳定的,而实际噪声是不稳定的;因此,舒适噪声与实际噪声的匹
配度较低,从而,舒适噪声的生成质量较低。

发明内容

[0004] 本申请实施例提供一种语音编码方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提升舒适噪声的生成质量。
[0005] 本申请实施例的技术方案是这样实现的:
[0006] 本申请实施例提供一种语音编码方法,包括:
[0007] 获取前N帧噪声语音和每帧所述噪声语音对应的感知能量,其中,所述感知能量与听觉感知上的强弱程度相关,N为正整数;
[0008] 基于所述感知能量,确定前N帧所述噪声语音对应的标准感知能量;
[0009] 确定与所述标准感知能量负相关的噪声编码间隔;
[0010] 基于所述噪声编码间隔,对M帧所述噪声语音进行噪声编码,其中,M帧所述噪声语音为前N帧所述噪声语音之后的语音,编码后的M帧所述噪声语音用于生成舒适噪声,M为正
整数。
[0011] 本申请实施例提供一种语音编码装置,包括:
[0012] 语音获取模块,用于获取前N帧噪声语音和每帧所述噪声语音对应的感知能量,其中,所述感知能量与听觉感知上的强弱程度相关,N为正整数;
[0013] 能量确定模块,用于基于所述感知能量,确定前N帧所述噪声语音对应的标准感知能量;
[0014] 间隔确定模块,用于确定与所述标准感知能量负相关的噪声编码间隔;
[0015] 噪声编码模块,用于基于所述噪声编码间隔,对M帧所述噪声语音进行噪声编码,其中,M帧所述噪声语音为前N帧所述噪声语音之后的语音,编码后的M帧所述噪声语音用于
生成舒适噪声,M为正整数。
[0016] 在本申请实施例中,所述语音编码装置还包括能量调整模块,用于在噪声语音帧序列中,获取每帧所述噪声语音中的每个语音频点对应的频点能量、频点声压和频点频率,
其中,所述噪声语音帧序列包括前N帧所述噪声语音和M帧所述噪声语音,每帧所述噪声语
音包括至少一个所述语音频点;基于所述频点声压和所述频点频率,确定频点响度,其中,
所述频点响度为所述噪声语音在听觉感知上的强弱程度;确定与所述频点响度正相关的能
量权重;基于所述能量权重调整所述频点能量,得到频点感知能量;将与至少一个所述语音
频点对应的至少一个所述频点感知能量,组合为所述噪声语音帧序列中的每帧所述噪声语
音对应的所述感知能量。
[0017] 在本申请实施例中,所述语音编码装置还包括语音检测模块,用于获取待检测语音,其中,所述待检测语音为采集到的话音;对所述待检测语音进行语音动态检测;当基于
语音动态检测结果确定所述待检测语音中的语音帧序列为噪声信号时,将所述语音帧序列
确定为所述噪声语音帧序列。
[0018] 在本申请实施例中,所述语音检测模块,还用于当基于语音动态检测结果确定所述待检测语音中的所述语音帧序列为话音信号时,对所述语音帧序列进行语音编码,其中,
所述语音编码对应的编码码率大于所述噪声编码对应的编码码率。
[0019] 在本申请实施例中,所述能量调整模块,还用于对所述噪声语音帧序列进行加窗处理,得到每帧所述噪声语音;获取每帧所述噪声语音中的每个所述语音频点对应的所述
频点能量、所述频点声压和所述频点频率。
[0020] 在本申请实施例中,所述能量调整模块,还用于基于等响关系确定所述语音频点对应的插值参数,其中,所述等响关系为等响度条件下声压与频率的关系;基于插值参数和
所述频点频率,确定所述语音频点对应的频点插值;对所述频点声压和所述频点插值进行
整合,得到所述频点响度。
[0021] 在本申请实施例中,所述能量调整模块,还用于获取所述频点响度与第一阈值对应的第一比值;对第二阈值的所述第一比值的次方进行计算,得到指数值;将所述指数值与
第三阈值对应的第二比值,确定为与所述频点响度正相关的所述能量权重。
[0022] 在本申请实施例中,所述间隔确定模块,还用于对所述标准感知能量进行转换,得到待对比感知能量;当所述待对比感知能量小于第一能量阈值时,确定包括第一噪声编码
间隔的所述噪声编码间隔;当所述待对比感知能量大于等于所述第一能量阈值且小于第二
能量阈值时,确定包括第二噪声编码间隔的所述噪声编码间隔,其中,所述第一能量阈值小
于所述第二能量阈值,所述第一噪声编码间隔大于所述第二噪声编码间隔;当所述待对比
感知能量大于等于所述第二能量阈值且小于第三能量阈值时,确定包括第三噪声编码间隔
的所述噪声编码间隔,其中,所述第二能量阈值小于所述第三能量阈值,所述第二噪声编码
间隔大于所述第三噪声编码间隔;当所述待对比感知能量大于第三能量阈值时,确定包括
第四噪声编码间隔的所述噪声编码间隔,其中,所述第三噪声编码间隔大于所述第四噪声
编码间隔。
[0023] 在本申请实施例中,所述噪声编码模块,还用于获取上一编码帧,其中,所述上一编码帧为上一次进行编码的所述噪声语音对应的帧;基于所述噪声编码间隔和所述上一编
码帧,确定下一编码帧;从M帧所述噪声语音中,确定所述下一编码帧对应的所述噪声语音,
得到待编码噪声语音,对所述待编码噪声语音进行噪声编码。
[0024] 在本申请实施例中,所述语音编码装置还包括噪声生成模块,用于向解码设备发送编码后的M帧所述噪声语音,以使解码设备基于编码后的M帧所述噪声语音生成所述舒适
噪声,其中,所述解码设备用于播放所述舒适噪声。
[0025] 在本申请实施例中,所述语音编码装置还包括噪声生成模块,用于存储编码后的M帧所述噪声语音;响应于语音播放请求,对存储的编码后的M帧所述噪声语音进行解码,得
到所述舒适噪声;播放所述舒适噪声。
[0026] 本申请实施例提供一种语音编码设备,包括:
[0027] 存储器,用于存储可执行指令;
[0028] 处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的语音编码方法。
[0029] 本申请实施例提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令用于被处理器执行时,实现本申请实施例提供的语音编码方法。
[0030] 本申请实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本申请实施例提供的语音编码方法。
[0031] 本申请实施例至少具有以下有益效果:通过N帧历史噪声语音的感知能量,确定当前M帧噪声语音的噪声编码间隔的过程中,由于感知能量与听觉感知上的强弱程度相关,使
得获得的噪声编码间隔也是与听觉感知相关的;如此,基于噪声编码间隔编码出的M帧噪声
语音是与听觉感知差异关联的,因此,基于编码后的M帧生成的舒适噪声与听觉感知到的实
际噪声的匹配度较高;从而,能够提升舒适噪声的生成质量。

附图说明

[0032] 图1是一种示例性的语音编码示意图;
[0033] 图2是本申请实施例提供的语音编码系统的架构示意图;
[0034] 图3是本申请实施例提供的图2中的终端的组成结构示意图;
[0035] 图4是本申请实施例提供的语音编码方法的流程示意图一;
[0036] 图5是本申请实施例提供的语音编码方法的流程示意图二;
[0037] 图6是本申请实施例提供的一种示例性的语言编码方法的流程图;
[0038] 图7是本申请实施例提供的一种示例性的等响曲线的示意图;
[0039] 图8是本申请实施例提供的一种示例性的频率与听觉感知加权系数的关系示意图。

具体实施方式

[0040] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有
做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0041] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突
的情况下相互结合。
[0042] 在以下的描述中,所涉及的术语“第一\第二\第三\第四”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三\第四”在允许的情况下可以互
换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的
以外的顺序实施。
[0043] 除非另有定义,本申请实施例所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申
请实施例的目的,不是旨在限制本申请。
[0044] 对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
[0045] 1)语音动态检测(Voice Activity Detection,VAD),是指对采集到的语音,检测是否有语音的一种机制;由于通常在常规的语音通话(比如,无线通话,基于互联网的IP语
音(Voice over Internet Protocol,VoIP)传输)或语音存储过程中,思考时间、反应时间
和语素间隔段都存在不讲话的时间片段,从而,约有70%左右的时间是没有讲话的;这里,通
过VAD以实现DTX,能够有效地减少编码资源的消耗,降低通信成本,以及提升编码规模。
[0046] 一般来说,通过VAD,确定没有语音时采用第一编码码率(比如,500bit/s,通常称为语音编码的编码码率)进行编码,确定有语音时采用第二编码码率(比如,13kbit/s,通常
称为噪声编码的编码码率)进行编码,其中,第一编码码率远小于第二编码码率,以及,采用
第二编码码率进行编码传输的信号在接收端相当于背景噪声,也称为舒适噪声,如果没有
舒适噪声,接收端的用户可能会认为语音已中断或者语音的播放已暂停。在本申请实施例
中,通过VAD确定没有语音的过程,是确定为噪声信号的过程,通过VAD确定有语音的过程,
是确定为话音信号的过程。
[0047] 2)舒适噪声生成(Comfort Noise Generator,CNG),是一个在通话等语音播放过程中出现短暂静音时用来为语音通信等语音播放产生背景噪声的技术,是为避免静音期间
出现长时间的静默,使接收端的用户或收听语音播放的用户感到不自然;在静音过程中采
用CNG生产背景噪声时,可根据编码的静音指示帧来产生舒适噪声,其中,静音指示帧可以
是连续的噪声语音帧序列中的首帧,还可以是自定义的一帧。
[0048] 参见图1,图1是一种示例性的语音编码示意图;如图1所示,在语音通话场景中,待传输语音1‑1经过语音动态检测1‑2,确定当前帧为语音帧时,通过语音编码器1‑3进行编
码,而确定当前帧为非语音帧时,采用非连续传输1‑4的机制,以通过噪声编码器1‑5进行编
码;其中,噪声编码器1‑5,用于对背景噪声参数进行估计和编码;需要说明的是,非语音帧
的噪声参数相比语音帧的参数要少很多,主要包括噪声频谱包络(lsp)和噪声能量等;非连
续传输1‑4的机制中,经过噪声参数估计和编码后,噪声参数通过一定非连续传输协议来传
输。这里,编码后的语音通过信道1‑6进行传输;针对传输过来的语音编码器1‑3的编码语
音,通过语音解码器1‑7进行解码。针对传输过来的噪声编码器1‑5的编码语音,解码端辨识
到噪声帧则通过舒适噪声生成1‑8(CNG)进行解码,基于噪声谱包络和噪声能量等生成舒适
噪声。其中,语音编解码是其中的关键核心技术,原始录音信号(待传输语音1‑1)通过语音
编码器(比如,人声发声模型)进行压缩,压缩后的数据码流通过信道1‑6传输到对端进行语
音解码,解码后还原语音信号进行播放。最后,将语音解码器1‑7解码出的语音1‑9和舒适噪
声生成1‑8解码出的舒适噪声1‑10合成,以得到待播放语音1‑11。
[0049] 需要说明的是,图1中一帧“语音”(包含了活跃状态的真实语音信号或非活跃状态的非语音信号)信号输入后,经过VAD(voice activity detection)检测算法得到当前帧是
否为语音的检测结果;检测结果为当前帧是语音帧则进入正常的语音编码器进行编码,而
检测结果为当前帧是非语音帧则进入DTX非连续编码处理环节,即对非语音帧信号进行噪
声编码;这里,噪声编码主要是对背景噪声参数进行估计和编码,经过噪声参数估计编码
后,噪声参数通过一定非连续传输协议来传输,解码端辨识到噪声帧则通过舒适噪声生成
(CNG)技术,基于噪声谱包络和能量信息生成舒适噪声。
[0050] 还需要说明的是,DTX的核心是非连续传输;比如,当编码端确定当前帧为非语音帧后,则先发送一个“sid_first”帧(静音指示帧)指示对端解码器开始噪声解码阶段,然后
编码端连续两帧不发数据,接着发送一帧噪声参数更新(sid_update)帧,sid_update帧内
包含了噪声参数(lsp和能量),之后间隔7帧不发数据,而后发一帧sid_update帧,随后又是
7帧不发数据,如此循环直到语音帧到来,即编码端发送语音帧结束本次噪声编码。也就是
说,上述DTX的噪声编码是采用固定频率的方式,每间隔7帧即在第8帧发一次sid_update
帧,当20 ms(毫秒)一帧时,则固定每160 ms更新一次噪声帧信息,而解码端则在160 ms内
都用相同的噪声参数通过引入随机值来生成具有相同噪声特征但不完全相同的8帧噪声信
号。然而,当噪声参数更新帧是固定频率发送时,解码端基于每次发送来的噪声参数更新帧
进行后续160 ms共8帧的噪声信号生成,这8帧的频谱包络是一致的,能量是相近的,听感上
类似,但与实际噪声是不符的,因为实际环境中大部分噪声并不稳定,而获得的160 ms生成
噪声均为特征稳定噪声,无明显的差异,所以听感上会明显感觉不自然,尤其是听感比较强
烈的噪声。也就是说,在每个时间间隔对应的时间段中,基于编码的噪声语音生成舒适噪声
时,所获得的舒适噪声是稳定的,而实际噪声是不稳定的,因此,舒适噪声与实际噪声的匹
配度较低,从而,舒适噪声的生成质量较低。
[0051] 另外,在DTX步骤后,对历史前4帧噪声的频谱包络lsp和增益波动进行分析,如果两者出现波动值大于门限值则每4帧发送一次噪声参数更新帧,否则每8帧发送一次噪声参
数更新帧。然而,由于听觉对不同频率的感知是差异较大的,比如,对中高频的语音比较敏
感,而对低频或超高频的语音不敏感;所以在实际通话场景或语音存储场景中,一些噪声特
征的频谱和增益虽然发生了波动,但对于听觉感知并不是等价的;即针对听觉不敏感频段
的噪声特征波动,听觉感知差异不大,相反针对一些听觉敏感频段的噪声特征波动,哪怕是
不大的波动,听觉也是能感觉到差异的。
[0052] 基于此,本申请实施例提供一种语音编码方法、装置、设备、计算机可读存储介质及计算机程序产品,能够提升舒适噪声的生成质量,以及降低噪声语音编码的资源消耗。下
面说明本申请实施例提供的语音编码设备的示例性应用,本申请实施例提供的语音编码设
备可以实施为智能手机、智能手表、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、
智能车载设备、便携式音乐播放器、个人数字助理、专用消息设备、便携式游戏设备、智能家
电和智能音箱等各种类型的终端,也可以实施为服务器。下面,将说明语音编码设备实施为
终端时的示例性应用。
[0053] 参见图2,图2是本申请实施例提供的语音编码系统的架构示意图;如图2所示,为支撑一个语音编码应用,在语音编码系统100中,终端200(语音编码设备)和终端400(解码
设备)均通过网络300连接服务器600,网络300可以是广域网或者局域网,又或者是二者的
组合。另外,该语音编码系统100中还包括数据库500,用于向服务器600提供数据支持;并
且,图2中示出的为数据库500独立于服务器600的一种情况,此外,数据库500还可以集成在
服务器600中,本申请实施例对此不作限定。
[0054] 终端200,用于获取前N帧噪声语音和每帧噪声语音对应的感知能量,其中,感知能量与听觉感知上的强弱程度相关,N为正整数;基于感知能量,确定前N帧噪声语音对应的标
准感知能量;确定与标准感知能量负相关的噪声编码间隔;基于噪声编码间隔,对M帧噪声
语音进行噪声编码,其中,M帧噪声语音为前N帧噪声语音之后的语音,编码后的M帧噪声语
音用于生成舒适噪声,M为正整数。还用于通过网络300和服务器600,向终端400发送编码后
的M帧噪声语音。
[0055] 终端400,用于通过网络300和服务器600,接收终端200发送的编码后的M帧噪声语音;对编码后的M帧噪声语音进行解码,生成舒适噪声,并播放舒适噪声。
[0056] 服务器600,用于通过网络300接收终端200发送的编码后的M帧噪声语音,并通过网络300向终端400发送编码后的M帧噪声语音。
[0057] 在本申请的一些实施例中,服务器600可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云
函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,
Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。
终端200终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表
等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连
接,本申请实施例中不做限制。
[0058] 参见图3,图3是本申请实施例提供的图2中的终端的组成结构示意图,图3所示的终端200包括:至少一个处理器210、存储器250、至少一个网络接口220和用户接口230。终端
200中的各个组件通过总线系统240耦合在一起。可理解,总线系统240用于实现这些组件之
间的连接通信。总线系统240除包括数据总线之外,还包括电源总线、控制总线和状态信号
总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统240。
[0059] 处理器210可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者
晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
[0060] 用户接口230包括使得能够呈现媒体内容的一个或多个输出装置231,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口230还包括一个或多个输入装置232,包
括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输
入按钮和控件。
[0061] 存储器250可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器250可选地包括在物理位置上远离处理器210的一
个或多个存储设备。
[0062] 存储器250包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可
以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器250旨在
包括任意适合类型的存储器。
[0063] 在本申请的一些实施例中,存储器250能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0064] 操作系统251,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0065] 网络通信模块252,用于经由一个或多个(有线或无线)网络接口220到达其他计算机设备,示例性的网络接口220包括:蓝牙、无线相容性认证(Wi‑Fi)、和通用串行总线(USB,
Universal Serial Bus)等;
[0066] 呈现模块253,用于经由一个或多个与用户接口230相关联的输出装置231(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户
接口);
[0067] 输入处理模块254,用于对一个或多个来自一个或多个输入装置232之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
[0068] 在本申请的一些实施例中,本申请实施例提供的语音编码装置可以采用软件方式实现,图3示出了存储在存储器250中的语音编码装置255,其可以是程序和插件等形式的软
件,包括以下软件模块:语音获取模块2551、能量确定模块2552、间隔确定模块2553、噪声编
码模块2554、能量调整模块2555、语音检测模块2556和噪声生成模块2557,这些模块是逻辑
上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模
块的功能。
[0069] 在本申请的另一些实施例中,本申请实施例提供的语音编码装置可以采用硬件方式实现,作为示例,本申请实施例提供的语音编码装置可以是采用硬件译码处理器形式的
处理器,其被编程以执行本申请实施例提供的语音编码方法,例如,硬件译码处理器形式的
处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated 
Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件
(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field‑
Programmable Gate Array)或其他电子元件。
[0070] 在本申请的一些实施例中,终端可以通过运行计算机程序来实现本申请实施例提供的语音编码方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;也可
以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程
序,如电话APP、录音APP、直播APP或者即时通信APP;又可以是小程序,即只需要下载到浏览
器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计
算机程序可以是任意形式的应用程序、模块或插件。
[0071] 下面,将结合本申请实施例提供的语音编码设备的示例性应用和实施,说明本申请实施例提供的语音编码方法。
[0072] 参见图4,图4是本申请实施例提供的语音编码方法的流程示意图一,将结合图4示出的步骤进行说明。
[0073] S401、获取前N帧噪声语音和每帧噪声语音对应的感知能量。
[0074] 在本申请实施例中,语音编码设备在对当前的噪声语音进行编码时,是基于历史的噪声语音所对应的感知能量来确定噪声编码的间隔的;从而,语音编码设备获取当前的
噪声语音对应的历史的噪声语音,也就获得了前N帧噪声语音;另外,语音编码设备在获取
前N帧噪声语音时,还获取了每帧噪声语音对应的感知能量。
[0075] 需要说明的是,感知能量与听觉感知上的强弱程度相关,并且是正相关;N为正整数常量,比如,1、2、3或4等。另外,噪声语音对应的能量,是一种绝对能量,与听觉感知上的
强弱程度不相关;而感知能量是一种与听觉感知上的强弱程度对应的能量,从而,噪声语音
对应的能量与感知能量无对应关系;也就是说,噪声语音对应的能量越大时,感知能量不一
定越大,而噪声语音对应的能量越小时,感知能量也不一定越小。此外,S401是在语音编码
设备确定当前的语音为非活跃状态的非话音信号(即噪声信号),并采用DTX进行语音编码
时所执行的。
[0076] 还需要说明的是,噪声语音为噪声信号,用于在话音播放过程中生成舒适噪声。语音编码设备可以在完成了第N帧噪声语音的编码之后,确定新的噪声编码频率时触发的
S401。
[0077] S402、基于感知能量,确定前N帧噪声语音对应的标准感知能量。
[0078] 在本申请实施例中,语音编码设备对前N帧噪声语音对应的N个感知能量进行评估,以基于评估结果确定用于确定噪声编码的频率的能量数据。这里,当N为1时,语音编码
设备可以将一帧噪声语音对应的一个感知能量直接确定为评估结果;而当N大于1时,语音
编码设备可以将N个感知能量的均值或N个感知能量中的众数等确定为评估结果。其中,评
估结果即为标准感知能量,表征历史的感知能量的波动情况,用于确定噪声编码的间隔。
[0079] S403、确定与标准感知能量负相关的噪声编码间隔。
[0080] 在本申请实施例中,语音编码设备获得了标准感知能量之后,基于标准感知能量对噪声编码的间隔进行确定,所确定出的与标准感知能量负相关的结果,即为噪声编码间
隔。
[0081] 需要说明的是,噪声编码间隔可以是通过与标准感知能量负相关的模型获得的,其中,与标准感知能量负相关的模型可以是连续函数,还可以是非连续函数,本申请实施例
对此不作限定;以及,噪声编码间隔是指噪声编码的频率,且噪声编码间隔与噪声编码的频
率负相关。
[0082] S404、基于噪声编码间隔,对M帧噪声语音进行噪声编码。
[0083] 在本申请实施例中,语音编码设备基于噪声编码间隔,对当前的M帧噪声语音进行噪声编码,以确定出M帧噪声语音中的哪些帧噪声语音是待进行噪声编码的噪声语音,进而
对确定出的噪声语音进行编码。
[0084] 需要说明的是,M帧噪声语音为前N帧噪声语音之后的语音,并且,M帧噪声语音、以及前N帧噪声语音中,各噪声语音之间可以时间上连续的,也可以是时间上非连续的,本申
请实施例对此不作限定;编码后的M帧噪声语音用于生成舒适噪声,M为正整数常量,比如,
1、5或7等。另外,噪声编码是指非连续传输机制中对噪声语音进行编码的过程,是一种非连
续编码机制。
[0085] 可以理解的是,由于噪声编码间隔与标准感知能量负相关,标准感知能量与听觉感知上强弱程度对应;因此,在标准感知能量越大时,噪声编码间隔越短,噪声编码的频率
越大,能够准确编码出听觉感知敏感的噪声语音;以及,在标准感知能量越小时,噪声编码
间隔越长,噪声编码的频率越小,能够在听觉感知不敏感时(比如,安静场景下的噪声语音)
提升噪声编码效率和降低噪声编码的资源消耗。
[0086] 还可以理解的是,通过N帧历史噪声语音的感知能量,确定当前M帧噪声语音的噪声编码间隔的过程中,感知能量是与听觉感知上的强弱程度相关的,使得获得的噪声编码
间隔也是与听觉感知相关的;如此,基于噪声编码间隔编码出的M帧噪声语音是与听觉感知
差异关联的,因此,生成的舒适噪声与听觉感知到的实际噪声的匹配度较高;从而,能够提
升舒适噪声的生成质量。
[0087] 参见图5,图5是本申请实施例提供的语音编码方法的流程示意图二;如图5所示在本申请实施例中,S401之前还包括S405至S409;也就是说,语音编码设备获取前N帧噪声语
音和每帧噪声语音对应的感知能量之前,该语言编码方法还包括S405至S409,下面对各步
骤分别进行说明。
[0088] S405、在噪声语音帧序列中,获取每帧噪声语音中的每个语音频点对应的频点能量、频点声压和频点频率,其中,噪声语音帧序列包括前N帧噪声语音和M帧噪声语音,每帧
噪声语音包括至少一个语音频点。
[0089] 需要说明的是,噪声语音帧序列是语音编码设备确定出的属于非话音信号的多个噪声语音序列,用于在噪声编码后生成舒适噪声;另外,语音频点是每帧噪声语音对应的频
点,其中,频点为固定频率的编号。
[0090] S406、基于频点声压和频点频率,确定频点响度。
[0091] 需要说明的是,频点声压为语音频点的声压级,频点频率为语音频点的频率,语音编码设备所确定的频点响度为语音频点的响度;由于响度是随语音的强度而变化的,但响
度也受语音的频率的影响,即相同强度、但不同频率的声音对应着不一样的听觉感知;因
此,语音编码设备综合频点声压和频点频率,确定语音频点的响度,也就得到了频点响度。
其中,频点响度为噪声语音在听觉感知上的强弱程度。
[0092] S407、确定与频点响度正相关的能量权重。
[0093] 需要说明的是,由于频点响度为噪声语音在听觉感知上的强弱程度,因此,语音编码设备为了将频点能量调整为与听觉感知关联的信息,基于频点响度确定用于调整频点能
量的能量权重;又由于频点响度与听觉感知的强弱程度正相关,从而语音编码设备确定与
频点响度正相关的能量权重,以使得获得的能量权重对频点能量调整后,调整后的频点能
量也是基于听觉感知的;也就是说,调整后的频点能量也与听觉感知的强弱程度是正相关
的。
[0094] 在本申请实施例中,能量权重可以是通过与频点响度正相关的模型获得的;其中,与频点响度正相关的模型可以是连续函数,还可以是非连续函数,本申请实施例对此不作
限定。
[0095] S408、基于能量权重调整频点能量,得到频点感知能量。
[0096] 需要说明的是,语音编码设备可以通过融合能量权重与频点能量,来实现基于能量权重对频点能量的调整;其中,调整后的频点能量即频点感知能量。易知,频点感知能量
与听觉感知的强弱程度正相关。
[0097] S409、将与至少一个语音频点对应的至少一个频点感知能量,组合为噪声语音帧序列中的每帧噪声语音对应的感知能量。
[0098] 需要说明的是,语音编码设备获得了每个语音频点对应的频点感知能量,那么对应于噪声语音的至少一个语音频点,则能够获得与至少一个语音频点对应的至少一个频点
感知能量;语音编码设备对至少一个频点感知能量进行组合(比如,累加),所获得的组合结
果即为噪声语音帧序列中的每帧噪声语音对应的感知能量。
[0099] 可以理解的是,由于响度是听觉感知上的强弱程度,而频率和声压级是决定响度的两个因素;因此,语音编码设备通过语音频点的频点频率和频点声压确定语音频点的频
点响度,接着确定与频点响度关联的能量权重,并利用能量权重调整频点能量,使得频点能
量是基于听觉感知的;从而,当基于频点能量获得的感知能量确定噪声编码间隔时,能够获
得与听觉感知关联的编码结果;进而,当基于编码结果生成舒适噪声时,能够提升舒适噪声
与实际噪声的符合程度,提升舒适噪声的生成质量。
[0100] 继续参见图5,S405之前还包括S410至S412;也就是说,语音编码设备在噪声语音帧序列中,获取每帧噪声语音中的每个语音频点对应的频点能量、频点声压和频点频率之
前,该语言编码方法还包括S410至S412,下面对各步骤分别进行说明。
[0101] S410、获取待检测语音。
[0102] 需要说明的是,待检测语音为语音编码设备采集到的实时话音,比如,通话系统中发送端实时采集到的语音,或者广播系统中发送端实时采集到的语音,又或者录音系统中
录制端实时采集到的语音。
[0103] S411、对待检测语音进行语音动态检测。
[0104] 需要说明的是,语音编码设备为了提升待检测语音的传输效率和资源利用率,对待检测语音进行语音动态检测,以确定出活跃状态的话音信号和非活跃状态的非话音信号
(噪声信号);其中,活跃状态的话音信号是指待检测语音中的语音帧包括话音,非活跃状态
的非话音信号是指待检测语音中的语音帧包括非话音(背景噪声)。
[0105] S412、当基于语音动态检测结果确定待检测语音中的语音帧序列为噪声信号时,将语音帧序列确定为噪声语音帧序列。
[0106] 需要说明的是,语音编码设备可以是以帧为单位对待检测语音进行语音动态检测;如果语音编码设备基于获得的语音动态监测结果确定待检测语音中的语音帧序列为噪
声信号(非话音信号)时,则确定语音帧序列为待进行非连续编码的语音,从而,将语音帧序
列确定为噪声语音帧序列,以对语音帧序列进行非连续编码。
[0107] 继续参见图5,S411之后还包括S413;也就是说,语音编码设备对待检测语音进行语音动态检测之后,该语言编码方法还包括S413,下面对该步骤进行说明。
[0108] S413、当基于语音动态检测结果确定待检测语音中的语音帧序列为话音信号时,对语音帧序列进行语音编码。
[0109] 需要说明的是,如果语音编码设备基于获得的语音动态监测结果确定待检测语音中的语音帧序列为话音信号时,则确定语音帧序列为待进行连续编码的语音,从而,对语音
帧序列进行连续编码,即对语音帧序列进行语音编码。其中,语音编码对应的编码码率大于
噪声编码对应的编码码率。
[0110] 这里,语音编码设备可以将语音编码结果发送至解码设备进行解码,也可以由语音编码设备对编码结果进行解码,本申请实施例对此不作限定。
[0111] 在本申请实施例中,S412和S413是两种对立的处理过程,当执行S412时则不执行S413,而当执行S413时则不执行S412。
[0112] 在本申请实施例中,S405可通过S4051和S4052实现;也就是说,语音编码设备在噪声语音帧序列中,获取每帧噪声语音中的每个语音频点对应的频点能量、频点声压和频点
频率,包括S4051和S4052,下面对各步骤分别进行说明。
[0113] S4051、对噪声语音帧序列进行加窗处理,得到每帧噪声语音。
[0114] S4052、获取每帧噪声语音中的每个语音频点对应的频点能量、频点声压和频点频率。
[0115] 需要说明的是,当语音编码设备中的噪声编码模块从语音动态监测模块获得的为一帧噪声语音时,则直接对该帧噪声语音中的每个语音频点对应的频点能量、频点声压和
频点频率进行获取。而当语音编码设备中的噪声编码模块从语音动态监测模块获得的为噪
声语音帧序列时,则对噪声语音帧序列进行加窗处理,以对每帧噪声语音进行能量的调整。
其中,频点能量的获取可以是在时域上获得的,也可以是在频域上获得的,本申请实施例对
此不作限定;只不过解码模块也采用同样的空间(时域或频域)进行解码;以及语音编码设
备在时域上获取频点能量时,可以通过对噪声语音进行傅里叶变换,进而基于傅里叶变换
后的频域信息确定每个语音频点的频点能量。
[0116] 在本申请实施例中,S406可通过S4061至S4063实现;也就是说,语音编码设备基于频点声压和频点频率,确定频点响度,包括S4061至S4063,下面对各步骤分别进行说明。
[0117] S4061、基于等响关系确定语音频点对应的插值参数。
[0118] 需要说明的是,语音编码设备基于待确定响度的语音频点,在等响关系中查找该语音频点对应的参数,也就获得了用于对语音频点进行插值以获取对应响度的插值参数。
其中,等响关系为等响度条件下声压与频率之间的对应关系;等响关系可以是等响曲线,也
可以是等响数据表,等等,本申请实施例对等响关系的形式不作限定。
[0119] S4062、基于插值参数和频点频率,确定语音频点对应的频点插值。
[0120] 在本申请实施例中,语音编码设备基于插值参数和频点频率,对语音频点进行插值处理,以获得语音频点对应的用于获取响度的插值结果;其中,该与语音频点对应的用于
获取响度的插值结果,即为频点插值。
[0121] 示例性地,频点插值的获取过程可通过式(1)至式(3)实现;式(1)至式(3)如下所示:
[0122] (1);
[0123]  (2);
[0124] (3);
[0125] 其中, 、 和 为频点插值, 为频点频率,为语音频点的频点序号,、 、 和 为插值参数。
[0126] S4063、对频点声压和频点插值进行整合,得到频点响度。
[0127] 在本申请实施例中,语音编码设备对频点声压和频点插值进行整合,所获得的整合结果即为频点响度。
[0128] 示例性地,频点响度的获取过程可通过式(4)实现;式(4)如下所示:
[0129]        (4);
[0130] 其中, 为频点响度, 为频点声压。
[0131] 在本申请实施例中,S407可通过S4071至S4073实现,也就是说,语音编码设备确定与频点响度正相关的能量权重,包括S4071至S4073,下面对各步骤分别进行说明。
[0132] S4071、获取频点响度与第一阈值对应的第一比值。
[0133] S4072、对第二阈值的第一比值的次方进行计算,得到指数值。
[0134] S4073、将指数值与第三阈值对应的第二比值,确定为与频点响度正相关的能量权重。
[0135] 需要说明的是,第一阈值、第二阈值和第三阈值是基于语音的参数确定的用于获取与频点响度正相关的能量权重的常数参数。
[0136] 示例性地,当语音编码设备通过连续函数获取能量权重时,能量权重的获取过程可通过式(5)实现,式(5)如下所示:
[0137]             (5);
[0138] 其中, 为能量权重,20为第一阈值,10为第二阈值,1000为第三阈值。
[0139] 在本申请实施例中,S403可通过S4031至S4035实现;也就是说,语音编码设备确定与标准感知能量负相关的噪声编码间隔,包括S4031至S4035,下面对各步骤分别进行说明。
[0140] S4031、对标准感知能量进行转换,得到待对比感知能量。
[0141] 需要说明的是,由于能量对应的值之间的差异较大,比如为指数分布对应的值;因此,语音编码设备为了使得能量服从均匀分布,对标准感知能量进行转换;其中,所获得的
转换后的标准感知能量即为待对比感知能量,该待对比感知能量用于通过与阈值对比,确
定噪声编码间隔。
[0142] S4032、当待对比感知能量小于第一能量阈值时,确定包括第一噪声编码间隔的噪声编码间隔。
[0143] S4033、当待对比感知能量大于等于第一能量阈值且小于第二能量阈值时,确定包括第二噪声编码间隔的噪声编码间隔。
[0144] S4034、当待对比感知能量大于等于第二能量阈值且小于第三能量阈值时,确定包括第三噪声编码间隔的噪声编码间隔。
[0145] S4035、当待对比感知能量大于第三能量阈值时,确定包括第四噪声编码间隔的噪声编码间隔。
[0146] 需要说明的是,S4032至S4035描述的为语音编码设备通过将待对比感知能量与能量阈值进行比较,以确定噪声编码间隔的过程;即为语音编码设备采用非连续函数确定噪
声编码间隔的过程。其中,所进行对比的能量阈值中,第一能量阈值小于第二能量阈值,第
二能量阈值小于第三能量阈值;所获得的噪声编码间隔中,第一噪声编码间隔大于第二噪
声编码间隔,第二噪声编码间隔大于第三噪声编码间隔,第三噪声编码间隔大于第四噪声
编码间隔,比如,第一噪声编码间隔为16,第二噪声编码间隔为8,第三噪声编码间隔为4,第
三噪声编码间隔为2。
[0147] 在本申请实施例中,S404可通过S4041至S4043实现;也就是说,语音编码设备基于噪声编码间隔,对M帧噪声语音进行噪声编码,包括S4041至S4043,下面对各步骤分别进行
说明。
[0148] S4041、获取上一编码帧。
[0149] 需要说明的是,上一编码帧为上一次进行噪声编码的噪声语音对应的帧。
[0150] S4042、基于噪声编码间隔和上一编码帧,确定下一编码帧。
[0151] 需要说明的是,语音编码设备从上一编码帧开始,经过噪声编码间隔所确定的帧,即为下一编码帧。比如,上一编码帧为第10帧,噪声编码间隔为2时,则下一编码帧为第12
帧。
[0152] S4043、从M帧噪声语音中,确定下一编码帧对应的噪声语音,得到待编码噪声语音,对待编码噪声语音进行噪声编码。
[0153] 需要说明的是,语音编码设备确定了下一编码帧之后,从M帧噪声语音中确定出与下一编码帧对应的噪声语音,并对确定出的与下一编码帧对应的噪声语音进行噪声编码。
[0154] 在本申请实施例中,语音编码设备完成了下一编码帧的噪声编码之后,对下一编码帧的下一帧所对应的前N帧噪声语音对应的标准感知能量进行获取,以确定新的噪声编
码间隔,进而基于新的噪声编码间隔确定再下一编码帧;如此循环,直至对待检测语音完成
编码。
[0155] 在本申请实施例中,S404之后还包括S414;也就是说,语音编码设备基于噪声编码间隔,对M帧噪声语音进行噪声编码之后,该语音编码方法还包括S414,下面对该步骤进行
说明。
[0156] S414、语音编码设备向解码设备发送编码后的M帧噪声语音,以使解码设备基于编码后的M帧噪声语音生成舒适噪声。
[0157] 需要说明的是,在对录制的话音进行传输的场景(比如,语音通话场景,或者广播场景)中,编码后的M帧噪声语音是由语音编码设备发送至解码设备的,并由解码设备对编
码后的M帧噪声语音进行解码,生成舒适噪声,以及播放舒适噪声。这里,语音编码设备和解
码设备共同构成了语音通话系统或者广播系统。
[0158] 在本申请实施例中,S404之后还包括S415至S417;也就是说,语音编码设备基于噪声编码间隔,对M帧噪声语音进行噪声编码之后,该语音编码方法还包括S415,下面对该步
骤进行说明。
[0159] S415、存储编码后的M帧噪声语音。
[0160] 需要说明的是,在录音场景中,语音编码设备对编码后的M帧噪声语音进行存储,以生成录音;易知,语音编码设备是对语音编码结果和编码后的M帧噪声语音共同进行存储
的。
[0161] S416、响应于语音播放请求,对存储的编码后的M帧噪声语音进行解码,得到舒适噪声。
[0162] 在本申请实施例中,当用于通过语音编码设备播放存储的录音时,语音编码设备也就接收到了语音播放请求,从而,响应于语音播放请求,对存储的编码后的M帧噪声语音
进行解码,以生成舒适噪声。
[0163] S417、播放舒适噪声。
[0164] 需要说明的是,语音播放设备通过播放舒适噪声,完成录音的播放;这里语音编码设备即为录音场景中的录音设备。
[0165] 下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
[0166] 参见图6,图6是本申请实施例提供的一种示例性的语言编码方法的流程图;如图6所示,该示例性的语音编码方法包括如下步骤:
[0167] S601、获取语音(待检测语音)。
[0168] 需要说明的是,编码端采集语音,也就获得了语音。
[0169] S602、语音动态检测。
[0170] 需要说明的是,编码端对每帧语音进行语音动态检测,以确定出每帧语音是话音信号还是噪音信号。
[0171] S603、语音编码。
[0172] 需要说明的是,编码端确定该帧语音为话音信号时,则对该帧语音进行语音编码。
[0173] S604、感知能量计算。
[0174] 需要说明的是,编码端确定该帧语音为噪声信号时,则对该帧语音(噪声语音)进行感知能量计算。其中,感知能量计算是对噪声信号进行心理学感知分析,是量化噪声信号
的听觉感知强弱的过程。一般来说,听觉感知是通过响度确定的,而响度在随语音的强度变
化的同时,也受语音频率的影响;所以,相同强度但不同频率的语音,对应的听觉感知的强
弱程度不同。
[0175] 参见图7,图7是本申请实施例提供的一种示例性的等响曲线的示意图;如图7所示,横轴表示声波频率(频率),纵轴表示声压级(声压);等响曲线7‑1为100方响度的等响曲
线,等响曲线7‑2为80方响度的等响曲线,等响曲线7‑3为60方响度的等响曲线,等响曲线7‑
4为40方响度的等响曲线,等响曲线7‑5为20方响度的等响曲线,等响曲线7‑6为阈值响度的
等响曲线。这里,等响曲线是等响度条件下声压级与声波频率的关系曲线,属于听觉特征;
即在不同声波频率下的纯音需要达到何种声压级,才能在听觉感知上获得一致的响度。另
外,由图中的等响曲线7‑1至等响曲线7‑6易知,中低频(1千(k)赫兹以下)频率越低,等响需
要的声压级越大,即需要更大的声音能量才能让人耳有相同听觉感受;而中高频(1千赫兹
以上)的不同频段对应着不同的声学听觉感知特征。
[0176] 下面对感知能量计算的过程进行说明。
[0177] 首先,分帧加窗(加窗处理)。编码端采用的分析窗的帧与编码器中的帧相同,比如,20 ms为一帧,分析窗的窗函数可以是汉宁窗,或者汉明窗等。
[0178] 其次,对加窗分帧信号即每帧噪声信号(每帧噪声语音)进行功率谱计算,得到该帧噪声信号对应的各频点的功率绝对值,也就获得了各频点的能量(频点能量)。这里,第N
帧噪声信号的各频点的能量可通过式(6)表示;式(6)如下所示:
[0179]                  (6);
[0180] 其中,为频点的能量,j为频点序号,K为频点数量。
[0181] 最后,能量加权处理。编码端基于式(1)至式(5)进行线性插值,来确定听觉感知加权系数(能量权重)。并将每个频点k的能量乘以对应的听觉感知加权系数后再进行累加,得
到该帧噪声信号的听觉感知加权能量值(感知能量),如式(7)所示:
[0182]                (7);
[0183] 其中, 为第N帧噪声信号的听觉感知加权能量值。
[0184] 参见图8,图8是本申请实施例提供的一种示例性的频率与听觉感知加权系数的关系示意图;如图8所示,横轴表示频率,纵轴表示听觉感知加权系数;曲线8‑1为频率与听觉
感知加权系数之间的对应关系。由曲线8‑1易知,听觉对低频(1千赫兹以下)和超高频(6千
赫兹)的感知敏感,从而对应的听觉感知加权系数较小;而听觉对中高频(1千赫兹至6千赫
兹)的感知敏感,从而对应的听觉感知加权系数较大。
[0185] S605、感知能量判决。
[0186] 示例性地,统计前4帧的听觉感知加权能量值,以确定历史的听觉感知加权能量值的波动情况;这里,历史的听觉感知加权能量值的波动情况可通过式(8)实现;式(8)如下所
示:
[0187]
[0188]             (8);
[0189] 其 中 , 为 历 史 的 听 觉 感 知 加 权 能 量 值 的 波 动 情 况 ;对应于上述的标准感知能量。
[0190] 获得了历史的听觉感知加权能量值的波动情况 之后,将 与预设的多个能量门限值进行比较。比如,多个能量门限值为三个能量门限值:能量门限值
Thrd 1(第一能量阈值)、能量门限值Thrd 2(第二能量阈值)和能量门限值Thrd 3(第三能
量阈值),且三个能量门限值的大小关系满足(9)式;式(9)如下所示:
[0191]                (9);
[0192] 在基于 进行判决时,如果  < Thrd 1,则d(噪声编码间隔)= 16(第一噪声编码间隔),即每16帧进行一次噪声编码并发送一次噪声参数更新帧(噪声编
码出的一种噪声语音);由于  < Thrd 1,表明听觉感知的波动较小,噪声信号基
本是无无听觉感知,所以在语音帧没到来前可以用间隔较长时间才更新一次噪声参数,以
进一步节省编码和传输资源;如果  >= Thrd 1 并且 AvgLog(i) < Thrd 2,则d 
= 8(第二噪声编码间隔),即每8帧进行一次噪声编码并发送一次噪声参数更新帧。如果
 >= Thrd 2并且  < Thrd 3,则d = 4(第三噪声编码间隔),即每4帧
进行一次噪声编码并发送一次噪声参数更新帧;如果  >Thrd3,则d = 2(第四噪
声编码间隔),即每2帧进行一次噪声编码并发送一次噪声参数更新帧,以使得感知很强的
噪声帧能更新较快以达到与输入噪声(实际噪声)更接近。
[0193] S606、噪声编码。
[0194] S607、信道传输。
[0195] S608、语音解码。
[0196] S609、生成舒适噪声。
[0197] S610、语音解码结果和舒适噪声合成,得到待播放语音。
[0198] S611、播放待播放语音。
[0199] 可以理解的是,在编码端确定为噪声信号之后,编码端DTX中的编码传输机制通过听觉感知加权能量值确定编码和发送的频率;也就是说,编码端通过历史的听觉感知加权
能量值的波动情况(待对比感知能量)来确定是否进行噪声编码和传输,以控制噪声语音的
编码和发送频率,所以,噪声参数更新帧的发送频率不是一个固定值,而是与听觉感知强相
关的;从而,能够从听觉感知角度改善DTX机制,减少DTX机制导致的舒适噪声与实际噪声不
匹配的情况;同时,安静场景下,还能够提升的语音编码效率,降低语音编码的资源消耗。
[0200] 下面继续说明本申请实施例提供的语音编码装置255的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器250的语音编码装置255中的软件模块可
以包括:
[0201] 语音获取模块2551,用于获取前N帧噪声语音和每帧所述噪声语音对应的感知能量,其中,所述感知能量与听觉感知上的强弱程度相关,N为正整数;
[0202] 能量确定模块2552,用于基于所述感知能量,确定前N帧所述噪声语音对应的标准感知能量;
[0203] 间隔确定模块2553,用于确定与所述标准感知能量负相关的噪声编码间隔;
[0204] 噪声编码模块2554,用于基于所述噪声编码间隔,对M帧所述噪声语音进行噪声编码,其中,M帧所述噪声语音为前N帧所述噪声语音之后的语音,编码后的M帧所述噪声语音
用于生成舒适噪声,M为正整数。
[0205] 在本申请实施例中,所述语音编码装置255还包括能量调整模块2555,用于在噪声语音帧序列中,获取每帧所述噪声语音中的每个语音频点对应的频点能量、频点声压和频
点频率,其中,所述噪声语音帧序列包括前N帧所述噪声语音和M帧所述噪声语音,每帧所述
噪声语音包括至少一个所述语音频点;基于所述频点声压和所述频点频率,确定频点响度,
其中,所述频点响度为所述噪声语音在听觉感知上的强弱程度;确定与所述频点响度正相
关的能量权重;基于所述能量权重调整所述频点能量,得到频点感知能量;将与至少一个所
述语音频点对应的至少一个所述频点感知能量,组合为所述噪声语音帧序列中的每帧所述
噪声语音对应的所述感知能量。
[0206] 在本申请实施例中,所述语音编码装置255还包括语音检测模块2556,用于获取待检测语音,其中,所述待检测语音为采集到的话音;对所述待检测语音进行语音动态检测;
当基于语音动态检测结果确定所述待检测语音中的语音帧序列为噪声信号时,将所述语音
帧序列确定为所述噪声语音帧序列。
[0207] 在本申请实施例中,所述语音检测模块2556,还用于当基于语音动态检测结果确定所述待检测语音中的所述语音帧序列为话音信号时,对所述语音帧序列进行语音编码,
其中,所述语音编码对应的编码码率大于所述噪声编码对应的编码码率。
[0208] 在本申请实施例中,所述能量调整模块2555,还用于对所述噪声语音帧序列进行加窗处理,得到每帧所述噪声语音;获取每帧所述噪声语音中的每个所述语音频点对应的
所述频点能量、所述频点声压和所述频点频率。
[0209] 在本申请实施例中,所述能量调整模块2555,还用于基于等响关系确定所述语音频点对应的插值参数,其中,所述等响关系为等响度条件下声压与频率的关系;基于插值参
数和所述频点频率,确定所述语音频点对应的频点插值;对所述频点声压和所述频点插值
进行整合,得到所述频点响度。
[0210] 在本申请实施例中,所述能量调整模块2555,还用于获取所述频点响度与第一阈值对应的第一比值;对第二阈值的所述第一比值的次方进行计算,得到指数值;将所述指数
值与第三阈值对应的第二比值,确定为与所述频点响度正相关的所述能量权重。
[0211] 在本申请实施例中,所述间隔确定模块2553,还用于对所述标准感知能量进行转换,得到待对比感知能量;当所述待对比感知能量小于第一能量阈值时,确定包括第一噪声
编码间隔的所述噪声编码间隔;当所述待对比感知能量大于等于所述第一能量阈值且小于
第二能量阈值时,确定包括第二噪声编码间隔的所述噪声编码间隔,其中,所述第一能量阈
值小于所述第二能量阈值,所述第一噪声编码间隔大于所述第二噪声编码间隔;当所述待
对比感知能量大于等于所述第二能量阈值且小于第三能量阈值时,确定包括第三噪声编码
间隔的所述噪声编码间隔,其中,所述第二能量阈值小于所述第三能量阈值,所述第二噪声
编码间隔大于所述第三噪声编码间隔;当所述待对比感知能量大于第三能量阈值时,确定
包括第四噪声编码间隔的所述噪声编码间隔,其中,所述第三噪声编码间隔大于所述第四
噪声编码间隔。
[0212] 在本申请实施例中,所述噪声编码模块2554,还用于获取上一编码帧,其中,所述上一编码帧为上一次进行编码的所述噪声语音对应的帧;基于所述噪声编码间隔和所述上
一编码帧,确定下一编码帧;从M帧所述噪声语音中,确定所述下一编码帧对应的所述噪声
语音,得到待编码噪声语音,对所述待编码噪声语音进行噪声编码。
[0213] 在本申请实施例中,所述语音编码装置255还包括噪声生成模块2557,用于向解码设备发送编码后的M帧所述噪声语音,以使解码设备基于编码后的M帧所述噪声语音生成所
述舒适噪声,其中,所述解码设备用于播放所述舒适噪声。
[0214] 在本申请实施例中,所述语音编码装置255还包括噪声生成模块2557,用于存储编码后的M帧所述噪声语音;响应于语音播放请求,对存储的编码后的M帧所述噪声语音进行
解码,得到所述舒适噪声;播放所述舒适噪声。
[0215] 本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备(语音
编码设备)的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,
使得该计算机设备执行本申请实施例上述的语音编码方法。
[0216] 本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的语音编
码方法,例如,如图4示出的语音编码方法。
[0217] 在本申请的一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任
意组合的各种设备。
[0218] 在本申请的一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编
写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程
或者适合在计算环境中使用的其它单元。
[0219] 作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper Text 
Markup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件
中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0220] 作为示例,可执行指令可被部署为在一个计算机设备上执行(此时,这一个计算机设备即语音编码设备),或者在位于一个地点的多个计算机设备上执行(此时,位于一个地
点的多个计算机设备即语音编码设备),又或者,在分布在多个地点且通过通信网络互连的
多个计算机设备上执行(此时,分布在多个地点且通过通信网络互连的多个计算机设备即
语音编码设备)。
[0221] 综上所述,通过本申请实施例,通过N帧历史噪声语音的感知能量,确定当前M帧噪声语音的噪声编码间隔的过程中,由于感知能量与听觉感知上的强弱程度相关,使得获得
的噪声编码间隔也是与听觉感知负相关的;如此,基于噪声编码间隔编码出的M帧噪声语音
是与听觉感知差异关联的,因此,生成的舒适噪声与听觉感知到的实际噪声的匹配度较高;
从而,能够提升舒适噪声的生成质量。同时,在安静场景下,还能够提升的语音编码效率,降
低语音编码的资源消耗。
[0222] 以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之
内。