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

语音编码、解码方法、装置、计算机设备和存储介质与流程

2022-10-13 01:13:58 来源:中国专利 TAG:


1.本技术涉及语音处理技术领域,特别是涉及一种语音编码方法、装置、计算机设备、存储介质和计算机程序产品,以及一种语音解码方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.语音编码在日常通信中有着较为广泛的应用,所谓语音编码,是指在保证语音高质量传输的情况下,降低语音传输所需要的信道带宽。例如,在语音通话的应用中,发送端采集语音数据,对语音数据进行编码,将编码后的数据发送至接收端,以使接收端可以通过解码重新生成语音数据,播放出声音。
3.目前,语音编码技术主要分为三类:波形编码、参数编码和混合编码。具体的,波形编码是将语音数据作为一般波形数据处理,以使重建的语音波形保持原有波形形状。参数编码是通过对语音数据特征参数的提取和编码,以保证重建的语音数据保持原语音的语义。混合编码,将波形编码和参数编码进行结合,既包含了语音特征参数,也包含了波形编码信息。然而,目前的语音编码方法存在编码效率低的问题。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高语音编码效率的语音编码方法、装置、计算机设备、计算机可读存储介质和计算机程序产品,另外,本技术还提供一种语音解码方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.一方面,本技术提供了一种语音编码方法。所述方法包括基于待编码的初始语音信号进行子带分解,得到至少两个子带激励信号;基于所述子带激励信号各频点的频点特征,确定所述子带激励信号的听觉感知表征值;所述听觉感知表征值用于描述所述子带激励信号的听觉感知强弱;基于所述听觉感知表征值与预设的听觉感知门限值之间的大小关系,从所述至少两个子带激励信号中确定第一子带激励信号和第二子带激励信号;确定所述第一子带激励信号相对于单位激励信号的目标增益;所述单位激励信号用于针对所述第一子带激励信号进行信号还原;将所述目标增益确定为所述第一子带激励信号对应的目标编码参数,以屏蔽对所述第一子带激励信号的量化编码;获取对所述第二子带激励信号进行量化编码得到的激励量化信号,根据所述目标编码参数和所述激励量化信号,确定所述初始语音信号对应的目标编码数据。
6.另一方面,本技术还提供了一种语音编码装置。所述装置包括:子带分解模块,用于基于待编码的初始语音信号进行子带分解,得到至少两个子带激励信号;听觉感知确定模块,用于基于所述子带激励信号各频点的频点特征,确定所述子带激励信号的听觉感知表征值;所述听觉感知表征值用于描述所述子带激励信号的听觉感知强弱;子带分类模块,用于基于所述听觉感知表征值与预设的听觉感知门限值之间的大小关系,从所述至少两个子带激励信号中确定第一子带激励信号和第二子带激励信号;增益确定模块,用于确定所
述第一子带激励信号相对于单位激励信号的目标增益;所述单位激励信号用于针对所述第一子带激励信号进行信号还原;编码参数确定模块,用于将所述目标增益确定为所述第一子带激励信号对应的目标编码参数,以屏蔽对所述第一子带激励信号的量化编码;量化编码模块,用于获取对所述第二子带激励信号进行量化编码得到的激励量化信号,根据所述目标编码参数和所述激励量化信号,确定所述初始语音信号对应的目标编码数据。
7.另一方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述语音编码方法的步骤。
8.另一方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述语音编码方法的步骤。
9.另一方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述语音编码方法的步骤。
10.上述语音编码方法、装置、计算机设备、存储介质和计算机程序产品,基于待编码的初始语音信号进行子带分解,得到至少两个子带激励信号,基于子带激励信号各频点的频点特征,确定子带激励信号的听觉感知表征值,基于听觉感知表征值与预设的听觉感知门限值之间的大小关系,从至少两个子带激励信号中确定第一子带激励信号和第二子带激励信号,确定第一子带激励信号相对于单位激励信号的目标增益;单位激励信号用于针对第一子带激励信号进行信号还原,将目标增益确定为第一子带激励信号对应的目标编码参数,以屏蔽对第一子带激励信号的量化编码,获取对第二子带激励信号进行量化编码得到的激励量化信号,根据目标编码参数和激励量化信号,确定初始语音信号对应的目标编码数据,由于听觉感知表征值用于描述子带激励信号的听觉感知强弱,而听觉感知的强弱可以表达子带激励信号对初始语音信号的听觉感知贡献,因此本技术可以实现通过听觉感知门限值选择出听觉感知贡献较低的子带激励信号,对这些子带激励信号不进行量化编码,仅传输目标增益,在提高编码效率的同时,极大的节省了编码带宽。另一方面,本技术提供了一种语音解码方法。所述方法包括:获取对初始语音信号进行编码得到的目标编码数据,解析所述目标编码数据得到目标增益和激励量化信号,所述目标增益对应于基于初始语音信号进行子带分解得到的至少两个子带激励信号中的第一子带激励信号,所述激励量化信号对应于所述至少两个子带激励信号中的第二子带激励信号,所述目标增益是所述第一子带激励信号相对于单位激励信号的增益;所述第一子带激励信号和所述第二子带激励信号,是根据所述至少两个子带激励信号中各个子带激励信号的听觉感知表征值与听觉感知门限值之间的大小关系确定的;所述听觉感知表征值用于描述子带激励信号的听觉感知强弱,是基于子带激励信号各频点的频点特征确定的;根据单位激励信号以及所述目标增益进行信号还原,得到第一激励还原信号;根据所述激励量化信号进行信号还原,得到第二激励还原信号;基于所述第一激励还原信号和所述第二激励还原信号进行信号子带合成,以得到目标语音信号。
11.另一方面,本技术还提供了一种语音解码装置。所述装置包括:目标编码数据获取模块,用于获取对初始语音信号进行编码得到的目标编码数据,解析所述目标编码数据得到目标增益和激励量化信号,所述目标增益对应于基于初始语音信号进行子带分解得到的至少两个子带激励信号中的第一子带激励信号,所述激励量化信号对应于所述至少两个子
带激励信号中的第二子带激励信号,所述目标增益是所述第一子带激励信号相对于单位激励信号的增益;所述第一子带激励信号和所述第二子带激励信号,是根据所述至少两个子带激励信号中各个子带激励信号的听觉感知表征值与听觉感知门限值之间的大小关系确定的;所述听觉感知表征值用于描述子带激励信号的听觉感知强弱,是基于子带激励信号各频点的频点特征确定的;信号还原模块,用于根据单位激励信号以及所述目标增益进行信号还原,得到第一激励还原信号;根据所述激励量化信号进行信号还原,得到第二激励还原信号;子带合成模块,用于基于所述第一激励还原信号和所述第二激励还原信号进行信号子带合成,以得到目标语音信号。
12.另一方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述语音解码方法的步骤。
13.另一方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述语音解码方法的步骤。
14.另一方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述语音解码方法的步骤。
15.上述语音解码方法、装置、计算机设备、存储介质和计算机程序产品,由于可以根据单位激励信号以及所述目标增益进行信号还原,得到第一激励还原信号,根据所述激励量化信号进行信号还原,得到第二激励还原信号,并且基于所述第一激励还原信号和所述第二激励还原信号可以进行信号子带合成,从而可以解码得到准确的目标语音信号。
附图说明
16.图1为一个实施例中语音编码方法和语音解码方法的应用环境图;图2为一个实施例中语音编码方法的流程示意图;图3为一个实施例中语谱图的示意图;图4为另一个实施例中声学等响曲线的示意图;图5为一个实施例中听觉感知系数的示意图;图6为一个实施例中语音解码方法的流程示意图;图7为一个实施例中celp编码技术的编码过程意图;图8为一个实施例中celp编码技术的解码流过程意图;图9为一个实施例中silk编码器的编码过程示意图;图10为一个具体的实施例中语音编码方法和语音解码方法的流程示意图;图11为一个实施例中语音编码装置的结构框图;图12为一个实施例中语音解码装置的结构框图;图13为一个实施例中计算机设备的内部结构图。
具体实施方式
17.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
18.本技术涉及语音编码的技术和语音解码的技术,其中语音编码,是指语音编码端将语音的模拟信号转换为数字信号,并且利用语音数据中存在的冗余度和人的听觉特性来对语音进行压缩,将编码数据传输至语音解码端,语音解码,是指在接收到编码数据后,将编码数据进行解码,重新生成语音数字信号,最后语音数字信号通过扬声器播放出声音。语音编解码有效地降低语音信号传输的带宽,对于节省语音信息存储传输成本,保障通信网络传输过程中的语音信息完整性方面起了决定性作用。
19.本技术实施例提供的语音编码方法和语音解码方法,可以应用于由语音编码端和语音解码端构成的系统中。语音编码端和语音解码端通过有线或者无线网络进行连接。语音编码端和语音解码端可以是计算机设备,计算机设备可以是终端,也可以是服务器。其中,终端可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。在一个实施例中,如图1所示,为本技术实施例提供的语音编码方法和语音解码方法的应用环境图。其中,语音编码端102为第一用户对应的终端,语音解码端104为第二用户对应的终端,第一用户对应的终端和第二用户对应的终端可以通过网络进行通信。语音编码端102可以将录音获得的初始语音信号进行前处理后,通过语音编码得到语音编码数据,然后进行数据发送,语音解码端104进行数据接收,对接收到的语音编码数据进行语音解码,对解码得到的语音数据进行后处理后进行播放。
20.具体地,语音编码端102首先基于输入的初始语音信号经过子带分解后得到至少两个子带激励信号,对各子带激励信号进行听觉感知分析,根据听觉感知强弱为不同子带分配不同的量化比特数,其中对听觉感知较弱的子带激励信号只需传输目标增益来描述音频特征,从而可以占用极少比特数据进行子带编码,而在解码阶段,语音解码端104可以通过将该子带激励信号的目标增益乘以单位激励信号生成激励还原信号,进而实现解码过程的激励重构和相关解码处理。本技术在提高编码效率的同时,可以有效降低编码码率,有效地利用带宽,信号有效压缩比更高。
21.需要说明的是,本技术实施例中,语音编码端和语音解码端是一个逻辑概念,指的是编码状态和解码状态,语音编码端也可以进行语音解码,当语音编码端进行语音解码时,语音编码端可以作为语音解码端,同样地,语音解码端也可以进行语音编码,当语音解码端进行语音编码时,语音解码端也可以作为语音编码端。
22.在一个实施例中,如图2所示,提供了一种语音编码方法,以该方法应用于图1中的语音编码端为例进行说明,包括以下步骤:步骤202,基于待编码的初始语音信号进行子带分解,得到至少两个子带激励信号。
23.其中,初始语音指的是麦克风采集的模拟信号经过转换后得到的数字信号。子带分解指的是将信号分解为多个子带的过程,被分解的信号可以是宽带信号,而分解得到的子带信号可以是窄带信号。
24.具体地,语音编码端获取到待编码的初始语音信号后,对初始语音信号进行分帧处理,得到多帧子语音信号。多帧指的是至少两帧。对于每一帧子语音信号,语音编码端可以进行前处理得到该帧子语音信号的初始激励信号。对每一个初始激励信号,语音编码端
可以进行信号子带分解,从而得到初始语音信号对应的至少两个子带激励信号。
25.在一个实施例中,语音编码端对子语音信号进行前处理可以包括信号分析处理和滤波处理,具体包括:通过vad(voice activity detection,语音活跃性检测)判断该帧子语音信号是语音帧还是非语音帧,经过高通滤波处理后,对语音帧进行基音分析、线性预测分析、噪声整形分析,以及增益计算,之后便计算得到该帧子语音信号的初始激励信号。
26.在一个实施例中,语音编码端获取待编码的初始语音信号的方式可以是语音编码端通过自带的麦克风采集原始语音,并通过模数转换电路转换为的待编码的初始语音信号,也可以是其他语音处理设备发送的已经过模数转换的语音信号,还可以是网络中获取到的已经过模数转换的语音信号,本技术对此不做限定。
27.在一个实施例中,语音编码端可采用正交镜像滤波器(qmf)对初始语音信号的初始激励信号进行子带对称分解,得到频宽对等的高频子带激励信号和低频子带激励信号。举例说明,假设初始激励信号的频宽为8khz,则可以通过正交镜像滤波器得到频宽为4khz的高频子带激励信号ex1_low和频宽为4khz的低频子带激励信号ex1_high。
28.在其他实施例中,语音编码端可以对已分解出的高频子带激励信号继续进行一级或者多级分解。以三级分解为例进行举例说明,对于第一次子带分解得到的高频子带激励信号,语音编码端可以采用正交镜像滤波器继续进行分解,得到频宽对等的第一分解信号和第二分解信号,其中,第二分解信号对应的频率值高于第一分解信号对应的频率值。例如,上述频宽为4khz的高频子带激励信号ex1_high可以进一步分解得到两个频宽为2khz的信号:ex2_low和ex2_high,其中,ex2_high的频率值高于ex2_low的频率值。进一步,对于分解得到的第二分解信号,语音编码端可以继续采用正交镜像滤波器继续进行分解,得到频宽对等的两个信号,并且其中一个信号的频率值高于另一个信号,例如上述的ex2_high可以继续进行分解得到两个频宽为1khz的信号,即ex3_low和ex3_high,其中ex3_high的频率值高于ex3_low的频率值,最终频宽为8khz的初始激励信号分解得到4个子带激励信号exc1_low、exc2_low、exc3_high和exc3_low。
29.步骤204,基于子带激励信号各频点的频点特征,确定子带激励信号的听觉感知表征值;听觉感知表征值用于描述子带激励信号的听觉感知强弱。
30.其中,每个频点可以对应一个频率值或者一段频带。例如,一个子带激励信号中可以包括频点0,1,2,
……
,k-1共k个频点,其中,k为正整数,指代总频点数。而频点0可以对应频率值为100hz的频率,本技术实施例对此不进行具体限定,此处仅是给出一个示例说明。另外,子带激励信号中频点的数量和各个频点对应的频率值或频带可以根据实际需要来设置。例如,在人耳较敏感的频段可以选取较多频点。
31.频点特征是用于描述频点的能量大小的,频点特征例如可以是频点的功率谱。听觉感知表征值可以表征整个子带的整体能量,用于描述子带激励信号的听觉感知强弱,这里的听觉感知强弱指的是人耳对子带激励信号的听觉感知的强弱,听觉感知表征值越大,代表人耳对该子带激励信号的听觉感知越强,听觉感知表征值越小,代表人耳对该子带激励信号的听觉感知越弱,换言之,听觉感知表征值的大小可以代表该子带激励信号对整个初始语音信号中的听觉感知贡献,听觉感知表征值越大的子带激励信号,其听觉感知贡献越大,相反,听觉感知表征值越小的子带激励信号,其听觉感知贡献越小。可以理解的是,听觉感知贡献越小的子带激励信号,其对语音编解码后的主观听觉质量影响较小。
32.如图3所示,为一个实施例中的语谱图的示例,其横坐标为时间轴,纵坐标为频率,图3中的线条代表有能量波动的区域,图3中线条颜色越深的区域,人耳的听觉感知越强,而线条颜色越浅的区域,人耳的听觉感知越弱,如图3中302、304以及304均为听觉感知较弱的区域,由图3可以看出,听觉感知较弱的区域在各个频段都有可能分布,与频率高低并无直接关系,基于此,本技术实施例提出通过确定听觉感知表征值来量化子带激励信号的听觉感知强弱。具体地,对于每一个子带激励信号,语音编码端将该子带激励信号由时域变换至频域,获取频域上每个频点的频点特征,然后基于各频点的频点特征,确定子带激励信号的听觉感知表征值。
33.在一个实施例中,对于每一个子带激励信号,语音编码端可以通过统计该子带激励信号各频点的功率谱得到听觉感知表征值。这里的统计可以求和、加权求和、求平均或者求中位值中的其中一种。
34.步骤206,基于听觉感知表征值与预设的听觉感知门限值之间的大小关系,从至少两个子带激励信号中确定第一子带激励信号和第二子带激励信号。
35.其中,听觉感知门限值是用于限定听觉感知表征值的门限的,当语音信号的听觉感知表征值大于听觉感知门限值时,人耳才对该语音信号才有一定的听觉能力,随着听觉感知表征值逐渐增大,人耳对该语音信号的听觉感知逐渐增强。听觉感知门限可以根据经验进行设定。
36.在一个具体的实施例中,语音编码端可以分别将每一个子带激励信号的听觉感知表征值与预设的听觉感知门限值进行比较,在听觉感知表征值小于或者等于预设的听觉感知门限值的情况下,将该听觉感知表征值所对应的子带激励信号确定为第一子带激励信号,在听觉感知表征值大于预设的听觉感知门限值的情况下,将该听觉感知表征值所对应的子带激励信号确定为第二子带激励信号。可以理解的是,第一子带激励信号可以是一个或者多个,同样的,第二子带激励信号也可以是一个或者多个。多个指的是至少两个。
37.步骤208,确定第一子带激励信号相对于单位激励信号的目标增益;单位激励信号用于针对第一子带激励信号进行信号还原。
38.其中,单位激励信号为能量值固定且幅值较小的信号,单位激励信号的幅值例如可以是1。单位激励信号用于在解码的过程中,针对对应的第一子带激励信号进行信号还原,在具体实施过程中,语音解码端可以将单位激励信号与基于该单位激励信号得到的目标增益进行相乘,以得到第一子带激励信号对应的激励还原信号。
39.具体地,对于每一个第一子带激励信号,语音编码端可以获取该第一子带激励信号的能量值,然后将该第一子带激励信号的能量值除以单位激励信号的能量值,得到该第一子带激励信号的目标增益。
40.步骤210,将目标增益确定为第一子带激励信号对应的目标编码参数,以屏蔽对第一子带激励信号的量化编码。
41.其中,第一子带激励信号对应的目标编码参数指的是语音编码端传输至语音解码端的、与第一子带激励信号相关的编码参数。
42.具体地,由于第一子带激励信号为听觉感知表征值低于听觉感知门限值的子带激励信号,也就是说这些第一子带激励信号对整个初始语音信号的听觉感知贡献较小,甚至可以忽略不计,那么为了最大限度的降低编码码率,提高编码效率,在本实施例中,可以直
接将目标增益确定为第一子带激励信号对应的目标编码参数,以屏蔽对第一子带激励信号的量化编码,即语音编码端不对这些第一子带激励信号进行量化编码,仅将这些第一子带激励信号对应的目标增益传输至语音解码端。
43.步骤212,获取对第二子带激励信号进行量化编码得到的激励量化信号,根据目标编码参数和激励量化信号,确定初始语音信号对应的目标编码数据。
44.具体地,语音编码端可以对每一个第二子带激励信号进行量化编码,得到每一个第二子带激励信号的激励量化信号,进而语音编码端可以将每一个第一子带激励信号的目标增益、每一个第二子带激励信号的激励量化信号以及编码过程中计算得到的其他编码参数经过压缩编码后封装为一个数据包,该数据包即为初始语音信号对应的目标编码数据。可以理解的是,在不同的编码方式中,计算得到的其他编码参数并不相同,例如,在silk编码器中,其他编码参数可以包括第二子带激励信号的增益、vad参数、线谱频率、基音参数等等。
45.在一个实施例中,对第二子带激励信号进行量化编码指的是将第二子带激励信号用一个确定的数值进行表示,以减少激励信号传输所需的比特位的过程。例如,对于某个第二子带激励信号,可以通过从预设的码书中搜索到量化误差最小的码本矢量,将该码本矢量对应的码本地址作为该第二子带激励信号的激励量化信号。
46.在一个实施例中,考虑到不同的第二子带激励信号的听觉感知表征值可能并不相同,也就是说,各个第二子带激励信号的听觉感知贡献是不相同的,那么语音编码端在对各个第二子带激励信号进行量化编码时,可以进行差异化编码,对于听觉感知表征值相对较大的子带激励信号以相对较高的量化精度进行量化编码,而对于听觉感知表征值相对较小的子带激励信号可以以相对较低的量化精度进行量化编码,以实现编码带宽的合理分配。在具体应用中,语音编码端可以预先对听觉感知表征值进行数值区间划分,对划分得到的每一个数值区间设置一个对应的编码增益,在进行量化时,将第二子带激励信号对应的听觉感知表征值所在的数值区间对应的编码增益确定为该第二子带激励信号对应的目标增益,进而基于该目标增益对该子带激励信号进行量化编码。
47.上述语音编码方法中,基于待编码的初始语音信号进行子带分解,得到至少两个子带激励信号,基于子带激励信号各频点的频点特征,确定子带激励信号的听觉感知表征值,基于听觉感知表征值与预设的听觉感知门限值之间的大小关系,从至少两个子带激励信号中确定第一子带激励信号和第二子带激励信号,确定第一子带激励信号相对于单位激励信号的目标增益;单位激励信号用于针对第一子带激励信号进行信号还原,将目标增益确定为第一子带激励信号对应的目标编码参数,以屏蔽对第一子带激励信号的量化编码,获取对第二子带激励信号进行量化编码得到的激励量化信号,根据目标编码参数和激励量化信号,确定初始语音信号对应的目标编码数据,由于听觉感知表征值用于描述子带激励信号的听觉感知强弱,而听觉感知的强弱可以表达子带激励信号对初始语音信号的听觉感知贡献,因此本技术可以实现通过听觉感知门限值选择出听觉感知贡献较低的子带激励信号,对这些子带激励信号不进行量化编码,仅传输目标增益,在提高编码效率的同时,极大的节省了编码带宽。
48.在一个实施例中,基于子带激励信号各频点的频点特征,确定子带激励信号的听觉感知表征值,包括:获取子带激励信号各频点各自的功率谱;获取子带激励信号各频点各
自的听觉感知系数;其中,听觉感知系数与听觉响度成正相关,听觉响度用于描述声音的响亮程度;基于各频点各自的听觉感知系数对各频点各自的功率谱进行加权处理,以得到子带激励信号的听觉感知表征值。
49.考虑到心理听觉感知主要的依据是听觉响度。其中,听觉响度也简称为响度,是用于表示声音听起来有多响的程度。换言之,声音的强弱叫做响度。响度用于描述声音的响亮程度,表示人耳对声音的主观感受。而响度随声音的强度而变化,但也受频率的影响,即相同强度、不同频率的声音对于人耳有着不一样的听觉感知。参考图4,图4示出了国际声学标准组织测定的声学等响曲线图。该声学等响曲线图用于描述等响条件下声压级与声波频率之间的对应关系,即描述等响条件下声压级与声波频率之间关系的曲线称为等响曲线,是重要的听觉特征之一。即在不同频率下的纯音需要达到何种声压级,才能获得对人耳来说一致的听觉响度。
50.为了说明该曲线的含义,接下来举例说明:基于前面描述可知,等响曲线是将响度水平相同的各频率的纯音的声压级连成的曲线,如图4所示,该声学等响曲线图中的横坐标为各纯音的频率,纵坐标为达到各响度水平所需的声压级。其中,对于图4中的任意一条等响曲线,在中低频(1khz以下)范围内频率越低,获得等响需要的声压级(能量)越大,换言之,即需要更大的声音能量才能让人耳有相同的听觉感受。而针对中高频(1khz以上)来说,不同频段则有着不同的声学听觉感知特征。
51.基于此,本技术可以通过获取听觉感知系数来计算得到听觉感知表征值,听觉感知系数是与听觉响度成正相关,因此频域上每个频点的听觉感知系数可以用于描述人耳对各频点声音的敏感程度。
52.具体地,对于每一个子带激励信号,语音编码端可以通过快速傅里叶变换 (fast fourier transform)将其从时域转换为频域,得到傅里叶变换结果,即相应的频谱图,之后,可以根据该频谱图中各频点对应的振幅来计算各个频点的功率谱,功率谱即频点的功率绝对值,第i帧各频点的功率谱可以表示为,k为频点总数量。
53.进一步,语音编码端可以将每个频点的功率谱乘以不同的听觉感知加权系数后进行累加,以得到该子带激励信号的听觉感知表征值,具体参考以下公式(1):
ꢀꢀ
公式(1)其中,ebp为听觉感知表征值,i为帧序号,k为频点序号,m为子带序号,kbup(m)和kbdw(m)分别代表第m子带内的上下限频点序号值,conf(k)为第k频点的听觉感知系数。
54.本实施例中,充分考虑了听觉响度对听觉感知的影响,通过与听觉响度正相关的听觉感知系数对各个频点的功率谱进行加权求和来实现对听觉感知的量化,得到的听觉感知表征值可以更加准确地描述听觉感知强弱。
55.在一个实施例中,获取子带激励信号各频点各自的听觉感知系数,包括:对声学等响曲线数据进行线性插值,得到各频点各自的听觉响度;声学等响曲线数据用于描述等响条件下声压级与声波频率之间的对应关系;根据各频点各自的听觉响度,确定各频点各自的听觉感知系数。
56.具体地,听觉感知系数可以参考声学等响曲线数据来确定。在具体应用过程中,听觉感知系数可以基于bs3383标准(bs 3383specification for normal equalloudnesslevel contours for pure tones under free-field listening conditions,自由场纯音正交等响度线规范)的声学等响曲线数据计算得到。语音编码端可以采用线性插值法对声学等响曲线数据进行插值,从而得到各个频点的听觉响度值,具体可以参考以下公式(2)至公式(5):afy=af(j-1) (freq-ff(j-1))*(af(j)-af(j-1))/(ff(j)-ff(j-1))
ꢀꢀ
公式(2)bfy=bf(j-1) (freq-ff(j-1))*(bf(j)-bf(j-1))/(ff(j)-ff(j-1))
ꢀꢀ
公式(3)cfy=cf(j-1) (freq-ff(j-1))*(cf(j)-cf(j-1))/(ff(j)-ff(j-1))
ꢀꢀ
公式(4)loud=4 .2 afy*(db-cfy)/(1 bfy*(db-cfy))
ꢀꢀ
公式(5)其中,freq为需要计算听觉感知系数的频点对应的频率值;j为等响曲线数据表中的频点序号,等响曲线数据表中每个频点序号对应一个频率值;freq不大于该等响曲线数据表中频点序号j对应的频率值,且不小于频点序号j-1对应的频率值;ff、af、bf、cf均为bs3383公开的该等响曲线数据表内的数据;loud为需要计算听觉感知系数的频点的听觉响度。
57.在计算得到各频点的听觉响度后,语音编码端进一步可以参考以下公式(6)计算得到听觉感知系数:cof(freq)=(10^loud/20)/1000 公式(6)其中,cof(freq)为需要计算听觉感知系数的频点对应的听觉感知系数。其中,图5示出了听觉感知系数图。该图5给出了频点的频率值与听觉感知系数之间的对应关系。
58.上述实施例中,通过对声学等响曲线数据进行线性插值,得到各频点各自的听觉响度,进而根据各频点各自的听觉响度,确定各频点各自的听觉感知系数,由于声学等响曲线数据用于描述等响条件下声压级与声波频率之间的对应关系,因此可以得到较为准确的听觉感知系数。
59.在一个实施例中,确定第一子带激励信号相对于单位激励信号的目标增益,包括:基于第一子带激励信号各样点的幅值,确定第一子带激励信号对应的能量值;获取单位激励信号对应的预设能量值,基于第一子带激励信号对应的能量值以及预设能量值,确定第一子带激励信号相对于单位激励信号的目标增益。
60.具体地,对于每一个第一子带激励信号,语音编码端可以计算该第一子带激励信号各样点的幅值的平方和,得到第一子带激励信号对应的能量值,进一步获取单位激励信号对应的预设能量值,将第一子带激励信号对应的能量值除以预设能量值,即得到该第一子带激励信号相对于单位激励信号的目标增益。进而在解码阶段,语音解码端可以将目标增益与单位激励信号进行相乘以还原得到该第一子带激励信号。
61.在一个实施例中,第二子带激励信号包括多个,获取对第二子带激励信号进行量化编码得到的第二目标编码参数,包括:按照听觉感知表征值从大到小对各个第二子带激励信号进行排序;基于各个第二子带激励信号各自的排序位置,按照不同的量化精度对各个第二子带激励信号进行量化编码,得到各个第二子带激励信号各自的激励量化信号;其中,至少一个排序位置在后的第二子带激励信号的量化精度小于排序位置在前的第二子带激励信号的量化精度。
62.其中,量化精度指的是对激励信号进行量化编码地准确性。对子带激励信号进行量化指的是将子带激励信号用一个确定的数值进行表示,以减少子带激励信号传输所需的比特位的过程。量化精度越大,则得到的量化信号与激励信号之间的误差越小,得到的量化信号准确性越高。在不同的实现方式中,量化精度可以用不同的方式进行表示。例如,量化精度可以是基于量化过程中的量化误差来进行表示,量化误差越大,则量化精度越小。量化误差指的是基于激励量化信号对子带激励信号进行还原时,所付出的代价或出现的失真。
63.具体地,语音编码端可以按照听觉感知表征值从大到小对各个第二子带激励信号进行排序,基于各个第二子带激励信号各自的排序位置,按照不同的量化精度对各个第二子带激励信号进行量化编码,得到各个第二子带激励信号各自的激励量化信号,在量化编码过程中,至少一个排序位置在后的第二子带激励信号的量化精度小于排序位置在前的第二子带激励信号的量化精度。
64.在一个具体的实施例中,各个第二子带激励信号的量化精度均不相同,并且任意一个排序位置在后的第二子带激励信号的量化精度均小于排序位置在前的第二子带激励信号的量化精度,举例说明,假设某帧子语音信号分解得到4个子带激励信号,其中第二子带激励信号有3个,分别为子带激励信号a、子带激励信号b和子带激励信号c,子带激励信号a的听觉感知表征值为x、子带激励信号b的听觉感知表征值为y、子带激励信号c的听觉感知表征值为z,假设x》y》z,则在进行量化编码的过程中,子带激励信号a的量化精度最大,子带激励信号b的量化精度次之,子带激励信号c的量化精度最小。
65.在另一个具体的实施例中,各个第二子带激励信号中至少存在一个第二子带激励信号的量化精度小于其他第二子带激励信号的量化精度,并且该第二子带激励信号是排序在其他第二子带激励信号之后的,如上面的例子中,子带激励信号a与子带激励信号b的量化精度相同,并且都大于子带激励信号c的量化精度。
66.可以理解的是,在不同的应用中,语音编码端可以通过不同的方式来控制量化精度。例如可以通过调整增益来控制量化精度,增益越大,量化精度越小,再比如,还可以通过不同尺寸的码本来控制量化精度,所选用的码本尺寸越大,量化精度越大。具体可以参考后文实施例中的描述。
67.上述实施例中,基于各个第二子带激励信号各自的排序位置,按照不同的量化精度对各个第二子带激励信号进行量化编码,可以使得听觉感知表征值较大的子带激励信号以更高量化精度进行编码,听觉感知表征值较小的子带激励信号以更高量化精度进行编码,进一步提升编码效率,更好地实现编码宽带的合理分配。
68.在一个实施例中,按照不同的量化精度对各个第二子带激励信号进行量化编码,得到各个第二子带激励信号各自的激励量化信号包括:基于第二子带激励信号的排序位置,确定第二子带激励信号的目标增益;其中,至少一个排序位置在后的第二子带激励信号的目标增益大于排序位置在前的第二子带激励信号的目标增益;基于第二子带激励信号的目标增益,对第二子带激励信号进行量化编码,得到第二子带激励信号的激励量化信号。
69.具体地,考虑到量化误差是基于量化还原信号和子带激励信号之间的差异得到的,而量化还原信号可以通过编码过程中的目标增益和量化信号之间相乘得到,因此,可以通过语音编码端可以通过控制各第二子带激励信号的目标增益来对量化精度进行调节,例如提升增益值则量化精度降低,相反,降低增益值则量化精度提升。基于此,本实施例中,语
音编码端可以基于排序后每一个第二子带激励信号的排序位置,确定每一个第二子带激励信号的目标增益,并且使得这些第二子带激励信号中,至少一个排序位置在后的第二子带激励信号的目标增益大于排序位置在前的第二子带激励信号的目标增益即可。其中,至少一个排序位置在后的第二子带激励信号的目标增益大于排序位置在前的第二子带激励信号的目标增益可以是:各个第二子带激励信号的目标增益均不相同,并且任意一个排序位置在后的第二子带激励信号的目标增益均大于排序位置在前的第二子带激励信号的目标增益;至少一个排序位置在后的第二子带激励信号的目标增益大于排序位置在前的第二子带激励信号的目标增益还可以是:各个第二子带激励信号中至少存在一个第二子带激励信号的目标增益大于其他第二子带激励信号的目标增益,并且该第二子带激励信号是排序在其他第二子带激励信号之后的。
70.在确定了每一个第二子带激励信号的目标增益后,语音编码端可以分别基于每一个第二子带激励信号的目标增益对每一个第二子带激励信号进行量化编码,得到各个第二子带激励信号各自的激励量化信号。在具体应用中,对于每一个第二子带激励信号,语音编码端可以从预设的一个或者多个码本中进行码本矢量搜索,每搜索到一个码本矢量,将该码本矢量与该第二子带激励信号的目标增益相乘,以计算量化误差,将量化误差最小时的码本矢量作为目标码本矢量,将该目标码本矢量的码本地址作为该第二子带激励信号的激励量化信号。
71.上述实施例中,通过控制各子带激励信号的增益,可以在量化过程中,准确快速地实现差异化量化精度的量化编码处理,进一步提高编码效率。
72.在一个实施例中,基于第二子带激励信号的排序位置,确定第二子带激励信号的目标增益,包括:获取初始增益,初始增益是基于初始语音信号计算得到的;对初始增益按照预设的增益递增方式依次进行递增,得到多个目标增益,基于各个第二子带激励信号的排序位置,将多个目标增益分配给各个第二子带激励信号;根据目标编码参数和激励量化信号,确定初始语音信号对应的目标编码数据,包括:根据目标编码参数、激励量化信号和初始增益,确定初始语音信号对应的目标编码数据。
73.其中,预设的增益递增方式可以是语音编码端和语音解码端共同约定的递增方式。语音编码端可以直接将基于初始语音信号计算得到的增益作为初始增益,或者对计算得到的增益进行小幅度的调整作为初始增益。
74.在一个具体的实施例中,以第二子带激励信号包括三个子带激励信号为例,预设递增方式如下表1所示,其中,序号1,2,3分别表示第二子带激励信号包括的三个子带激励信号,序号值越大,所表征的子带激励信号的排序越靠后,序号所对应的增益倍数用于表征该序号所表征的子带激励信号相对于初始增益的倍数。参考表1,假设三个子带激励信号按照听觉感知表征值从大到小排序依次为子带激励信号a、子带激励信号b和子带激励信号c,则将初始增益分配给子带激励信号a,将(初始增益*1.1)分配给子带激励信号b,将(初始增益*1.2)分配给子带激励信号c。
75.可以理解的是,上述表1中的递增倍数也可以是其他数值,例如可以是1、1.2、1.4、1.6,本实施例中的递增方式还可以是其他递增方式,只要形成一定的差分规律即可,本技术对此不做限制。
76.由于各个第二子带激励信号的目标增益是按照预设的增益递增方式依次进行递增,语音编码端编码得到的目标编码数据中,各个第二子带激励信号的激励量化信号可以按照各自对应的第二子带激励信号的排序位置进行排序,并且目标编码数据只传输初始增益,语音解码端在解码过程中,可以基于排序位置以及初始增益计算得到各个激励量化信号各自所需的目标增益来实现语音信号还原,如此,由于只需要传输一个初始增益,进一步节省了编码所需的比特数,编码带宽大大减小。
77.在一个实施例中,基于待编码的初始语音信号进行子带分解,得到至少两个子带激励信号,包括:对待编码的初始语音信号进行分帧处理,得到多帧子语音信号;对子语音信号进行信号分析处理和滤波处理,以得到子语音信号对应的初始激励信号;对初始激励信号进行信号子带分解,得到处于第一频率范围的分解信号和处于第二频率范围的分解信号;第二频率范围的频率值大于第一频率范围的频率值;将处于第一频率范围的分解信号确定为子语音信号对应的子带激励信号,并基于处于第二频率范围的分解信号确定子语音信号对应的子带激励信号。
78.语音信号在宏观上是不平稳的,而在微观上却是平稳的,即语音信号具有短时平稳性(比如10ms至30ms内可以认为语音信号近似不变)。基于这个特性可以将语音信号分为一些短段进行处理,其中,每一个短段便可称为一帧(chunk),即音频帧。一个音频帧的播放时长例如可以为23.32ms、46 .64ms或128ms等,本技术实施例对此不进行具体限定。需要说明的是,如果后续还需要进行加窗处理,则在对采集到的语音信号进行帧处理时,为了确保相邻音频帧之间的过渡平滑性和连续性,还需保证帧与帧之间存在重叠,其中,相邻两帧之间的重叠部分称为帧移(stride)。在对采集到的语音信号进行加窗处理时,例如可以使用10ms或20ms的分析窗,其中,窗函数可以选用汉宁窗或汉明窗,本技术实施例对此不进行具体限定。即,在进行加窗后会形成多个分析窗,每次可以仅对一个分析窗内的语音信号进行处理。
79.初始激励信号为残差信号。信号分析处理可以是基于分析、线性预测分析、噪声整形分析等等,滤波处理可以是高通滤波。
80.具体地,在得到多帧子语音信号后,针对每一帧子语音信号,语音编码端可以进行信号子带分解,得到处于第一频率范围的分解信号和处于第二频率范围的分解信号,将处于第一频率范围的分解信号确定为该子语音信号对应的子带激励信号,并基于处于第二频率范围的分解信号确定该子语音信号对应的子带激励信号。由于第二频率范围的频率值大
于第二频率范围的频率值,因此,处于第二频率范围的分解信号相对于处于第一频率范围的分解信号为高频子带信号,而处于第一频率范围的分解信号相对于处于第二频率范围的分解信号为低频子带信号。
81.在一个实施例中,语音编码端可以采用正交镜像滤波器进行信号子带分解,得到频宽对等的两个分解信号。举例说明,假设初始激励信号的频宽为8khz,则可以通过正交镜像滤波器得到处于0-4khz的分解信号和处于4khz-8khz的分解信号,语音编码端进一步可以将这两个分解信号均作为子语音信号对应的子带激励信号。
82.上述实施例中,首先对待编码的初始语音信号进行分帧,进而针对每一帧子语音信号分解得到不同频率范围的分解信号,基于各分解信号来确定子带激励信号,可以确保各子带激励信号处于不同的频率范围,使得本技术的差异量化可以针对不同频率范围的子带进行,保证了量化过程中的准确性。
83.在一个实施例中, 基于处于第二频率范围的分解信号确定子语音信号对应的子带激励信号包括:将处于第二频率范围的分解信号作为中间激励信号;对中间激励信号进行信号子带分解,得到处于第三频率范围的分解信号和处于第四频率范围的分解信号;第三频率范围的频率值大于第四频率范围的频率值;将处于第三频率范围的分解信号和处于第四频率范围的分解信号,均作为子语音信号对应的子带激励信号。
84.本实施例中,对于高频子带信号可以进一步地进行分解。语音编码端将处于第二频率范围的分解信号作为中间激励信号,进而可以采用镜像正交滤波器对该中间激励信号继续进行信号子带分解,得到频宽对等的两个分解信号,其中一个处于第三频率范围,另一个处于第四频率范围,且第二频率范围的频率值大于第一频率范围的频率值,即处于第二频率范围的分解信号相对于处于第一频率范围的分解信号而言为高频子带信号,而处于第一频率范围的分解信号相对于处于第二频率范围的分解信号而言为低频子带信号,语音编码端可以将此次继续分解得到的高频子带信号和低频子带信号均作为子语音信号对应的子带激励信号。
85.可以理解的是,在其他实施例中,语音编码端还可以对此次分解得到的高频子带信号继续进行分解,然后对于继续分解得到的高频子带信号还可以再分解,也就是说,本技术对分解的次数不做限定,可以根据需要确定。
86.上述实施例中,通过将处于第二频率范围的子带激励信号确定为中间激励信号,可以进行更细的子带划分,进而可以更加准确地确定出听觉感知弱的频带范围,进一步提升编码效率,更好地利用宽带资源。
87.在一个实施例中,如图6所示,提供了一种语音解码方法,以该方法应用于图1中的语音解码端为例进行说明,包括以下步骤:步骤602,获取对初始语音信号进行编码得到的目标编码数据,解析目标编码数据得到目标增益和激励量化信号。
88.其中,目标增益对应于基于初始语音信号进行子带分解得到的至少两个子带激励信号中的第一子带激励信号,激励量化信号对应于至少两个子带激励信号中的第二子带激励信号,目标增益是第一子带激励信号相对于单位激励信号的增益;第一子带激励信号和第二子带激励信号是根据至少两个子带激励信号中各个子带激励信号的听觉感知表征值确定的;听觉感知表征值用于描述子带激励信号的听觉感知强弱,是基于子带激励信号各
频点的频点特征确定的。
89.可以理解的是,这里的目标编码数据是语音编码端编码得到的,具体可以参考上文实施例中的描述。
90.步骤604,根据单位激励信号以及目标增益进行信号还原,得到第一激励还原信号;根据激励量化信号进行信号还原,得到第二激励还原信号。
91.这里,用于进行信号还原的单位激励信号可以是语音解码端随机生成或者固定设置,其特性是激励信号位置随机,激励幅值为较小,激励幅值具体可以是1,即单位激励信号是1,0和-1随机组合得到,例如可以是(1,-1,0,1,0)。需要说明的是,单位激励信号包含的样点数和子带激励信号包含的样点数是相同的。
92.具体地,语音解码端将单位激励信号乘以目标增益可实现信号还原,得到第一激励还原信号,语音解码端还可以根据激励量化信号进行信号还原,得到第二激励还原信号。在具体应用中,目标编码数据中还可以解析得到激励量化信号对应的目标增益,语音解码端可以根据激励量化信号从码本中查询到对应的码本矢量,将码本矢量与该激励量化信号所对应的目标增益相乘,即可以还原得到第二激励还原信号。
93.步骤606,基于第一激励还原信号和第二激励还原信号进行信号子带合成,以得到目标语音信号。
94.其中,目标语音信号指的是语音解码端直接用于播放的语音信号。信号子带合成为信号子带分解的逆过程。
95.具体地,语音解码端基于第一激励还原信号和第二激励还原信号进行信号子带合成,即可得到合成激励信号,对该合成激励信号继续进行后续地后处理,例如,长时滤波处理、短时滤波处理,即可得到目标语音信号。
96.在一个实施例中,语音解码端可以采用正交镜像滤波器进行信号子带合成。
97.上述语音解码方法,由于可以根据单位激励信号以及目标增益进行信号还原,得到第一激励还原信号,根据激励量化信号进行信号还原,得到第二激励还原信号,并且可以基于第一激励还原信号和第二激励还原信号可以进行信号子带合成,从而可以解码得到准确的目标语音信号。
98.在一个具体的实施例中,本技术的编码方法可以应用于基于celp (code excited linear prediction,码激励线性预测)编码技术中,celp编码技术是一种有效的中低码率语音压缩编码技术,它是以码本为激励源,具有码率低、合成语音质量高、抗噪能力强等优点,在4.8~16kbps码率上得到广泛应用,目前采用celp技术的语音编码器有g.723、g.728、g.729、g.722.2等等。图7为celp编码技术的编码流程图。参考图7,在语音编码端,初始语音信号经过高通滤波等预处理后,通过lpc(linear predictive coding,线性预测分析)得到线性预测参数,lpc参数为一组线性预测滤波系数,将lpc参数转换为lsp参数并量化,通过lpc参数进行预测滤波,初始语音信号与lpc预测滤波结果的差为初始激励信号,该初始激励信号为残差信号,残差信号通过自适应码本并经过开环闭环基音分析搜索得到自适应码本参数,而后通过固定码本并采用本技术实施例提供的语音编码方法进行量化编码得到固定码本参数,具体来说:将残差信号进行一级或者多级子带分解,得到多个处于不同频率范围的子带激励信号,基于各子带激励信号各频点的功率谱,计算得到各个子带激励信号各自的听觉感知表征值,进而对于听觉感知表征值小于或者等于听觉感知门限值的第一子带
激励信号,确定第一子带激励信号相对于单位激励信号的目标增益,将目标增益确定为第一子带激励信号对应的目标编码参数,以屏蔽对第一子带激励信号的量化编码,对于听觉感知表征值大于听觉感知门限值的第二子带激励信号,按照听觉感知门限值从大到小进行排序,基于排序位置,通过不同尺寸的固定码本进行量化处理,得到各个激励量化信号,其中,至少一个排序在后的第二子带激励信号所对应的码本尺寸小于排序在前的第二子带激励信号所对应的码本尺寸。最后语音编码端计算自适应码本增益参数和各个固定码本的增益参数,将这些编码过程中得到的编码参数经过封装打包并通过信道传输到解码端。其中,码本尺寸用于表征码本中所包含的码本矢量的数量。码本尺寸越大,码本中所包含的码本矢量的数量越多,因为其对应的量化精度也越大。例如,假设码本y中包括5个码本矢量:y1、y2、y3、y4、y5,则码本尺寸为5。
99.参考图8,为celp编码技术的解码流程图,接解码端从接收编码数据包中解析出所有编码参数,对lsp参数内插得到lpc滤波系数,固定码本参数中各个激励量化信号和各自的固定码本增益相乘实现信号还原,目标增益和单位激励信号相乘实现信号还原,再对还原得到的激励还原信号进行信号子带合成得到合成激励信号,而自适应码本参数和自适应码本增益相乘生成自适应码本激励信号,自适应码本激励信号和合成激励信号之和经过lpc合成滤波器进行滤波和后处理后得到最终的目标语音信号。
100.在一个实施例中,本技术的编码方法可以应用于基于silk编码技术中,silk语音编码器是celp模型的变种,其主要改进是引入了噪声整形环节使残差激励信号频谱更加平整,进一步改善激励的量化信噪比。如图9所示,为silk编码器的编码过程示意图,首先对输入语音信号进行vad处理和高通滤波处理,将高通滤波的输出信号进行噪声整形分析,利用噪声整形分析得到预滤波器和噪声整形量化中使用的增益和滤波器系数,对vad处理输出的信号进行基音分析,进行清/浊音判决,对浊音信号的基音周期进行估计,得到基音的自相关系数和基音时延,对基音分析输出信号进行ltp分析,对噪声整形分析的输出进行前置滤波处理,对经过将基音分析和噪声整形分析得到的信号,以及高通滤波处理后的语音信号进一步进行预测分析,然后提取出lsf参数,并采用多级矢量量化来提取特征参数,再将量化之后的参数转换为lpc系数,通过这一转换实现编解码的同步,在此基础上进行噪声整形量化,这里的噪声整形量化是把噪声整形后的激励信号进行量化处理,量化处理过程中可以将激励信号进行一次或者多级子带分解,得到多个处于不同频率范围的子带激励信号,基于各子带激励信号各频点的功率谱,计算得到各个子带激励信号各自的听觉感知表征值,进而对于听觉感知表征值小于或者等于听觉感知门限值的第一子带激励信号,确定第一子带激励信号相对于单位激励信号的目标增益,将目标增益确定为第一子带激励信号对应的目标编码参数,以屏蔽对第一子带激励信号的量化编码,对于听觉感知表征值大于听觉感知门限值的第二子带激励信号,按照听觉感知门限值从大到小进行排序,基于排序位置,确定第二子带激励信号的目标增益,其中,至少一个排序位置在后的第二子带激励信号的目标增益大于排序位置在前的第二子带激励信号的目标增益,分别基于各个第二子带激励信号各自的目标增益,对各个第二子带激励信号进行量化编码,得到各个第二子带激励信号各自的激励量化信号,最后对获得的所有参数进行区间编码,实现整个编码过程。
101.在一个具体的实施例中,参考图10,本技术还提供一种语音编码方法和语音解码方法。相关技术中,编码过程可以采用子带编码实现编码,语音子带编码的基本思想是:使
用一组带通滤波器(band-pass filter,bpf)把输入音频信号的频带分成若干个连续的频段,每个频段称为子带。对每个子带中的音频信号采用单独的编码方案去编码。在信道上传送时,将每个子带的代码复合起来。在接收端译码时,将每个子带的代码单独译码,然后把它们组合起来,还原成原来的音频信号。子带编码可以根据人耳的听觉特性来合理分配各子带的比特数,以得到更好的主观听觉效果,同时节省存储资源和传输带宽。例如opus编码器内部划分高频和低频子带,低频子带采用silk编码器,而高频子带采用celt编码器,也就是说,相关技术中,子带编码器主要是采用不同的编码器或不同的编码参数对各子带进行独立编码的过程,根据不同子带信号特性选取更合适的编码方式进行编码,子带编码方式可以有效提升编码器的编码效率。然而相关技术的子带编码器忽略了帧内各子带的听觉感知贡献,本技术提出基于听觉感知能量分析,对感知能量较弱的子带采取极低码率的编码方式,以极少的比特进行该子带编码,以进一步提升子带编码的效率。有别于现有方案,本技术各子带是基于听觉感知贡献来分配编码比特,听觉感知贡献大的子带可以分配更多的编码比特,而对听觉感知弱的子带可以直接用极小比特进行编码,从而实现编码带宽的高效合理分配。
102.具体地,参考图10,语音编码方法如下:将采集的语音信号作为初始语音信号,语音编码端首先对初始语音信号进行分帧和加窗处理,得到多帧子语音信号,针对每一帧子语音信号,语音编码端进行语音活动检测、高通滤波、基因分析、线性预测分析、噪声整形、增益计算等处理后,得到初始激励信号(语谱频宽假设为8khz),对初始激励信号通过子带分解处理,例如qmf正交镜像滤波器组进行子带对称分解,得到频宽对等的高频(高4khz)子带激励信号和低频(低4khz)子带激励信号,如果需要更细的子带划分,可以对已分解出来的高频子带激励信号继续做qmf分解得到更多更细的子带信号,例如可以进行三级qmf分解得到exc1_low、exc2_low、exc3_high和exc3_low四个子带激励信号,具体可以参考上文实施例中的描述。
103.针对每一个子带激励信号,语音编码端可以进行子带听觉感知分析,以划分出强感知子带激励信号和弱感知子带激励信号,具体来说:根据上文中的公式(2)至公式(5)计算得到各频点的听觉响度,然后根据上文中的公式(6)计算得到各频点的听觉感知系数,最后根据上文中的公式(1)对各频点的功率谱进行加权处理得到子带激励信号的听觉感知表征值,分别将每一个子带激励信号的听觉感知表征值和听觉感知门限值进行比较,将听觉感知表征值小于或者等于听觉感知门限值的确定为弱感知子带激励信号(即上文中的第一子带激励信号),将听觉感知表征值大于听觉感知门限值的确定为强感知子带激励信号(即上文中的第二子带激励信号)。对于弱感知子带激励信号,不需要进行量化编码,只计算其各样点的幅值的平方和,得到其对应的能量值,将能量值除以单位激励信号对应的预设能量值,得到其对应的目标增益,而对于强感知子带激励信号,按照听觉感知表征值进行排序,基于各个强感知子带激励信号各自的排序位置,按照不同的量化精度对各个强感知子带激励信号进行量化编码,得到各个强感知子带激励信号各自的激励量化信号,其中,至少一个排序位置在后的强感知子带激励信号的量化精度小于排序位置在前的强感知子带激励信号的量化精度,将弱感知子带激励信号的目标增益、将感知子带激励信号的激励量化信号以及其他编码参数进行压缩,并封装得到目标编码数据传输至语音解码端。如此,在传输的目标编码数据中,对于弱感知子带激励信号,只传输目标增益,不传输激励量化信号,
只有对强感知子带激励信号,才传输激励量化信号,并且由于各个强感知子带激励信号是采用不同的量化精度进行量化的,对于听觉感知表征值大相对较大的强感知子带激励信号可以分配更多的编码比特位,这样就可以进一步降低编码码率,而对语音编解码后的主观听觉质量影响较小。
104.进一步地,继续参考图10,语音解码过程如下:语音解码端接收到目标编码数据后,首先从中解析出所有编码语音参数,其中编码过程的强感知子带激励信号能解析得到的量化增益值和激励量化信号,将子带量化增益值乘以该激励量化信号得到该子带的激励还原信号,而对于弱听觉感知子带只解析出增益值,通过该增益值乘以一个随机的单位激励信号(该信号是从解码器随机生成或固定设置,其特性是激励信号位置随机,激励幅值为1)得到该弱感知子带的激励还原信号,然后将所有子带的激励还原信号进行子带重构,子带重构的过程是子带分解过程的逆过程,即按照编码过程子带分解的对应组合,通过qmf正交镜像滤波器组进行子带合成,例如编码过程经过了三级子带分解,则需要做三级子带合成,如前面的例子,exc3_high和exc3_low进行qmf合成exc2_high,再与exc2_low进行qmf合成得到exc1_high,最后再和exc1_low进行qmf合成得到完整(语谱带宽为8khz)的激励信号输出,后续则按照正常的解码流程,包括长时预测滤波和短时预测滤波等处理,最终得到解码后的声音信号。
105.其中,语音编码端和语音解码端可以约定,在解码过程中,各个强感知子带激励信号的激励量化信号和各自的增益相乘时,所使用的增益是初始增益的基础上按照预设递增方式递增的,并且排序位置越靠后的强感知子带激励信号,其增益值越大,具体可以参考上文实施例中的描述。其中初始增益是解码端从目标编码数据包中解析得到的增益,由于语音编码端和语音解码端约定了预设递增方式,语音编码端只需要传输初始增益至语音解码端即可,从而可以进一步提高编码效率并且有效降低带宽。
106.本技术还提供一种应用场景,该应用场景应用上述的语音编码方法和语音解码方法,在该应用场景中,第一用户和第二用户进行语音通话:当第一用户和第二用户在进行语音通话时,通过本技术提供的语音编码方法和语音解码方法可以将第一用户的语音信号和第二用户的语音信号进行编码、传输和解码,从而实现第一用户和第二用户的语音通话。在具体实现中,当第一用户向第二用户发送语音信号时,第一用户的终端为语音编码端,第二用户的终端为语音解码端。以第一用户的终端为车载终端,第二用户的终端为手机为例。当第一用户的车载终端和第二用户的手机建立通信连接后,第一用户的车载终端可以作为语音编码端采集第一用户的语音信号并进行编码得到目标编码数据,将目标编码数据传输至第二用户的手机,进而第二用户的手机可以作为语音解码端对目标编码数据进行解码重新生成语音信号并进行播放,同理,第二用户的手机也可以作为语音编码端发送目标编码数据至第一用户的车载终端,由第一用户的车载终端也可以作为语音解码端对目标编码数据进行解码,生成语音数据并进行播放。本技术还可以应用在视频通话的场景,第一用户的终端和第二用户的终端均可安装社交通信应用,第一用户和第二用户通过社交通信应用进行视频通话,在进行视频通话的过程中,可以采用本技术实施例提供的语音编码方法以及语音解码方法将第一用户的语音信号和第二用户的语音信号进行编码、传输和解码,从而实现第一用户和第二用户的视频通话中语音信号的传输。
107.本技术还提供另一种应用场景,在该应用场景中,本技术的语音编码方法和语音
解码方法还可以应用在视频直播场景中,语音编码端可以为主播用户的终端,语音解码端可以为观众用户的终端。主播用户的终端和观众用户的终端上可以安装并运行有客户端,该客户端可以用于登录主播用户的账号或者观众用户的账号,若该客户端登录有主播用户的账号,则所在的终端可以用于对直播过程中实时采集到的语音信号采用本技术实施例提供的语音编码方法进行编码,然后将编码后的目标编码数据上传至服务器;若该客户端登录有观众用户的账号,则所在终端可以用于从服务器获取目标编码数据,然后采用本技术实施例提供的语音解码方法解码得到目标语音信号并进行播放。
108.可以理解的是,本技术实施例提供的语音编码方法以及语音解码方法还可以应用于其他应用场景中,例如音视频会议、音频广播等等。
109.应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
110.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的语音编码方法的语音编码装置或者用于实现上述所涉及的语音解码方法的语音解码装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个语音编码装置、语音解码装置实施例中的具体限定可以参见上文中对于语音编码方法、语音解码方法的限定,在此不再赘述。
111.在一个实施例中,如图11所示,提供了一种语音编码装置1100,包括:子带分解模块1102,用于基于待编码的初始语音信号进行子带分解,得到至少两个子带激励信号;听觉感知确定模块1104,用于基于子带激励信号各频点的频点特征,确定子带激励信号的听觉感知表征值;听觉感知表征值用于描述子带激励信号的听觉感知强弱;子带分类模块1106,用于基于听觉感知表征值与预设的听觉感知门限值之间的大小关系,从至少两个子带激励信号中确定第一子带激励信号和第二子带激励信号;增益确定模块1108,用于确定第一子带激励信号相对于单位激励信号的目标增益;单位激励信号用于针对第一子带激励信号进行信号还原;编码参数确定模块1110,用于将目标增益确定为第一子带激励信号对应的目标编码参数,以屏蔽对第一子带激励信号的量化编码;量化编码模块1112,用于获取对第二子带激励信号进行量化编码得到的激励量化信号,根据目标编码参数和激励量化信号,确定初始语音信号对应的目标编码数据。
112.上述语音编码装置,基于待编码的初始语音信号进行子带分解,得到至少两个子带激励信号,基于子带激励信号各频点的频点特征,确定子带激励信号的听觉感知表征值,基于听觉感知表征值与预设的听觉感知门限值之间的大小关系,从至少两个子带激励信号中确定第一子带激励信号和第二子带激励信号,确定第一子带激励信号相对于单位激励信号的目标增益;单位激励信号用于针对第一子带激励信号进行信号还原,将目标增益确定
为第一子带激励信号对应的目标编码参数,以屏蔽对第一子带激励信号的量化编码,获取对第二子带激励信号进行量化编码得到的激励量化信号,根据目标编码参数和激励量化信号,确定初始语音信号对应的目标编码数据,由于听觉感知表征值用于描述子带激励信号的听觉感知强弱,而听觉感知的强弱可以表达子带激励信号对初始语音信号的听觉感知贡献,因此本技术可以实现通过听觉感知门限值选择出听觉感知贡献较低的子带激励信号,对这些子带激励信号不进行量化编码,仅传输目标增益,在提高编码效率的同时,极大的节省了编码带宽。
113.在一个实施例中,听觉感知确定模块,还用于获取子带激励信号各频点各自的功率谱获取子带激励信号各频点各自的听觉感知系数;其中,听觉感知系数与听觉响度成正相关,听觉响度用于描述声音的响亮程度;基于各频点各自的听觉感知系数对各频点各自的功率谱进行加权处理,以得到子带激励信号的听觉感知表征值。
114.在一个实施例中,听觉感知确定模块,还用于对声学等响曲线数据进行线性插值,得到各频点各自的听觉响度;声学等响曲线数据用于描述等响条件下声压级与声波频率之间的对应关系;根据各频点各自的听觉响度,确定各频点各自的听觉感知系数。
115.在一个实施例中,子带分类模块,还用于在听觉感知表征值小于或者等于预设的听觉感知门限值的情况下,将子带激励信号确定为第一子带激励信号;在听觉感知表征值大于预设的听觉感知门限值的情况下,将子带激励信号确定为第二子带激励信号。在一个实施例中,增益确定模块,还用于基于第一子带激励信号各样点的幅值,确定第一子带激励信号对应的能量值;获取单位激励信号对应的预设能量值,基于第一子带激励信号对应的能量值以及预设能量值,确定第一子带激励信号相对于单位激励信号的目标增益。在一个实施例中,第二子带激励信号包括多个,量化编码模块还用于按照听觉感知表征值从大到小对各个第二子带激励信号进行排序;基于各个第二子带激励信号各自的排序位置,按照不同的量化精度对各个第二子带激励信号进行量化编码,得到各个第二子带激励信号各自的激励量化信号;其中,至少一个排序位置在后的第二子带激励信号的量化精度小于排序位置在前的第二子带激励信号的量化精度。
116.在一个实施例中,量化编码模块,还用于基于第二子带激励信号的排序位置,确定第二子带激励信号的目标增益;其中,至少一个排序位置在后的第二子带激励信号的目标增益大于排序位置在前的第二子带激励信号的目标增益;基于第二子带激励信号的目标增益,对第二子带激励信号进行量化编码,得到第二子带激励信号的激励量化信号。
117.在一个实施例中,量化编码模块,还用于获取初始增益,初始增益是基于初始语音信号计算得到的;对初始增益按照预设的增益递增方式依次进行递增,得到多个目标增益,基于各个第二子带激励信号的排序位置,将多个目标增益分配给各个第二子带激励信号;量化编码模块,还用于根据目标编码参数、激励量化信号和初始增益,确定初始语音信号对应的目标编码数据。
118.在一个实施例中,子带分解模块,还用于对待编码的初始语音信号进行分帧处理,得到多帧子语音信号;对子语音信号进行信号分析处理和滤波处理,以得到子语音信号对应的初始激励信号;对初始激励信号进行信号子带分解,得到处于第一频率范围的分解信号和处于第二频率范围的分解信号;第二频率范围的频率值大于第一频率范围的频率值;
将处于第一频率范围的分解信号确定为子语音信号对应的子带激励信号,并基于处于第二频率范围的分解信号确定子语音信号对应的子带激励信号。
119.在一个实施例中,子带分解模块,还用于将处于第二频率范围的分解信号作为中间激励信号;对中间激励信号进行信号子带分解,得到处于第三频率范围的分解信号和处于第四频率范围的分解信号;第三频率范围的频率值大于第四频率范围的频率值;将处于第三频率范围的分解信号和处于第四频率范围的分解信号,均作为子语音信号对应的子带激励信号。
120.在一个实施例中,如图12所示,提供了一种语音解码装置1200,包括:目标编码数据获取模块1202,用于获取对初始语音信号进行编码得到的目标编码数据,解析目标编码数据得到目标增益和激励量化信号,目标增益对应于基于初始语音信号进行子带分解得到的至少两个子带激励信号中的第一子带激励信号,激励量化信号对应于至少两个子带激励信号中的第二子带激励信号,目标增益是第一子带激励信号相对于单位激励信号的增益;第一子带激励信号和第二子带激励信号,是根据至少两个子带激励信号中各个子带激励信号的听觉感知表征值与听觉感知门限值之间的大小关系确定的;听觉感知表征值用于描述子带激励信号的听觉感知强弱,是基于子带激励信号各频点的频点特征确定的;信号还原模块1204,用于根据单位激励信号以及目标增益进行信号还原,得到第一激励还原信号;根据激励量化信号进行信号还原,得到第二激励还原信号;子带合成模块1206,用于基于第一激励还原信号和第二激励还原信号进行信号子带合成,以得到目标语音信号。
121.上述语音解码装置,由于可以根据单位激励信号以及目标增益进行信号还原,得到第一激励还原信号,根据激励量化信号进行信号还原,得到第二激励还原信号,并且基于第一激励还原信号和第二激励还原信号可以进行信号子带合成,从而可以解码得到准确的目标语音信号。
122.上述语音编码装置以及语音解码装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
123.在一个实施例中,提供了一种计算机设备,该计算机设备可以是语音编码端或者是语音解码端,其内部结构图可以如图13所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种语音编码方法或者一种语音解码方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,
显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
124.本领域技术人员可以理解,图13中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
125.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述语音编码方法或者语音解码方法的步骤。
126.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述语音编码方法或者语音解码方法的步骤。
127.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述语音编码方法或者语音解码方法的步骤。
128.需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
129.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
130.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
131.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献