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

语音信号的编解码方法、装置、电子设备及存储介质与流程

2021-10-08 17:34:00 来源:中国专利 TAG:电子设备 信号处理 语音 装置 信号


1.本技术涉及信号处理技术领域,具体而言,本技术涉及一种语音信号的编解码方法、装置、电子设备及存储介质。


背景技术:

2.对语音进行编码的目的是为了将语音数字化并利用人的发声过程中存在的冗余度和人的听觉特性来降低编码率。在通信系统中,语音编码是相当重要的,因为在很大程度上,语音编码决定了接收到的语音质量和系统容量。
3.opus编码是一种应用十分广泛的编码技术与mp3(moving picture experts group audio layer iii,动态影像专家压缩标准音频层面3)、aac(advanced audio coding,高级音频编码)等常用编码方式相比,opus编码更高效,尤其适用于voip(voice over internet protocol,基于ip的语音传输)等网络音频传输领域。但是传输采用opus编码方式的码流时,一旦发生丢包,接收端则无法恢复出语音信号。


技术实现要素:

4.本技术实施例的目的在于提供了一种语音信号的编解码方法、装置、电子设备及存储介质,基于该方案,能够有效避免解码端无法重建出语音信号的问题,且能够在获取到高频部分对应的码流的情况下,重建得到高质量的语音信号。本技术实施例所提供的方案如下:
5.一方面,本技术实施例提供了一种语音信号的解码方法,该方法包括:
6.获取待解码的码流,码流包括第一子码流,其中,第一子码流是对原始语音信号的低频子带信号采用第一编码方式进行编码得到的码流;
7.若码流中未包含第二子码流,则基于第一子码流进行信号重建,得到重建的语音信号;
8.若码流中包含至少一种第二子码流,则基于第一子码流和至少一种第二子码流进行信号重建,得到重建的语音信号;
9.其中,各第二子码流是通过各自对应的第二编码方式对原始语音信号的高频子带信号进行编码得到的码流。
10.另一方面,本技术实施例还提供了一种语音信号的编码方法,该方法包括:
11.获取原始语音信号的低频子带信号和高频子带信号;
12.采用第一编码方式对所述低频子带信号进行编码,得到第一子码流;
13.采用至少一种第二编码方式对所述高频子带信号进行编码,得到分别对应于各所述第二编码方式的各第二子码流。
14.再一方面,本技术实施例还提供了一种语音信号的解码装置,该装置包括:
15.码流获取模块,用于获取待解码的码流,所述码流包括第一子码流,其中,所述第一子码流是对原始语音信号的低频子带信号采用第一编码方式进行编码得到的码流;
16.信号重建模块,用于在所述码流中未包含第二子码流,基于所述第一子码流进行信号重建,得到重建的语音信号;以及用于在所述码流中包含至少一种第二子码流,基于所述第一子码流和所述至少一种第二子码流进行信号重建,得到重建的语音信号;
17.其中,各所述第二子码流是通过各自对应的第二编码方式对所述原始语音信号的高频子带信号进行编码得到的码流。
18.又一方面,本技术实施例还提供了一种语音信号的编码装置,该装置包括:
19.子带信号获取模块,用于获取原始语音信号的低频子带信号和高频子带信号;
20.信号编码模块,用于采用第一编码方式对所述低频子带信号进行编码,得到第一子码流;以及采用至少一种第二编码方式对所述高频子带信号进行编码,得到分别对应于各所述第二编码方式的各第二子码流。
21.再一方面,本技术实施例还提供了一种电子设备,该电子设备包括存储器和处理器;其中,存储器中存储有计算机程序;处理器用于在运行计算机程序时执行本技术实施例所提供的方法。
22.另一方面,本技术实施例还提供了一种计算机可读存储介质,其该存储介质中存储有计算机程序,该计算机程序在被处理器运行时执行本技术实施例所提供的方法。
23.本技术提供的技术方案带来的有益效果在于:基于本技术实施例的该解码方法,在获取到待解码的码流后,如果该码流中只包含第一子码流,则可以基于该子码流重建得到质量可以接受的语音信号;如果该码流中还包含第二子码流,则可以基于该第一子码流和第二子码流进行信号重建,重建得到语音质量很高的语音信号。基于该方案,能够有效保证了解码端重建出语音信号的可能性,有效避免解码端无法重建得到语音信号的问题,且在能够获取到第二子码流时,重建出质量很高的语音信号,更好的满足了实际应用需求。
附图说明
24.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
25.图1示出了为qmf(quadrature mirror filter,正交镜像滤波器)的频谱响应曲线的示意图;
26.图2示出了本技术实施例提供的一种语音信号的编码方法的流程示意图;
27.图3示出了本技术实施例提供的一种语音信号的解码方法的流程示意图;
28.图4示出了本技术所提供的示例中的一种语音信号的编码方法的原理示意图;
29.图5示出了本技术所提供的一示例中的一种语音信号的解码方法的原理示意图;
30.图6示出了本技术所提供的另一示例中的语音信号的解码方法的原理示意图;
31.图7示出了本技术实施例提供的一种语音会议系统的结构示意图;
32.图8示出了本技术实施例提供的一种语音信号的编码装置的结构示意图;
33.图9示出了本技术实施例提供的一种语音信号的解码装置的结构示意图;
34.图10示出了本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
35.下面详细描述本技术的实施例,所述实施例的示例在附图中示出,其中自始至终
相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本技术,而不能解释为对本发明的限制。
36.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
37.为了更好的理解本技术实施例所提供的方案,下面首先对本技术所涉及到技术术语和相关技术进行说明。
38.目前,常用的语音信号编码方式有基于语音信号的语音参数的参数编码、以及直接对语音信号进行编码的方式。
39.对于参数编码方法,一种方式是对用于描述语音信号的参数集合进行编码,如opus-lp(linear prediction,线性预测)编码,该编码方式是基于线性预测和激励模型对时域波形进行估计,预测的误差通过分析进行控制。其中,编码参数包括信号类型、lpc参数量化值、ltp(long term prediction长时预测)参数量化值、激励信号(包括符号)等,这些参数通过查表进行标量或者矢量量化,之后,将对应表格中的索引值进行编码并传输。解码端接收到上述索引值后,进行解析和查表恢复出上述参数,基于上述参数进行合成滤波。
40.另一种参数编码方式是基于频带扩展、音频超分等技术的编码方式,该种方式在解码时,能够在重建低频频谱的基础上,通过额外手段产生高频频谱,提高解码后的信号质量。对于频带扩展技术,是将描述低频和高频频谱相关性的边信息进行编码和传输,接收端获得上述边信息后,可以通过信号处理技术产生高频频谱。对于音频超分技术,可以无需额外边信息,在接收端通过深度学习,在低频频谱的基础上预测出高频频谱。频带扩展的编码效率非常高,音频超分无需任何比特。
41.直接对语音信号进行编码的方式,是将语音信号经过时频变换得到频域系数,时频变换包括sftf(short-time fourier transform,短时傅里叶变换)、mdct(modified discrete cosine transform,改进型离散余弦变换)等,在得到频域系数后,可以将频域系数分成若干子带(各子带的系数的数量可以相同,也可以不同),分子带计算各子带的谱包络。如果频带扩展基于频域去实现,可以复用频带扩展流程计算的谱包络。对于每个子带,通过谱包络,将原始频谱归一化处理后,再进行矢量量化或者标量量化进行编码,传输端将上述量化值编码并传输,接收端获得上述信息后可以重建频谱,并进行时频反变换获得时域信号。相对频带扩展技术,如果比特足够情况下,使用变换域编码的重建精度更高。
42.opus是voip领域使用最广泛的编码技术,它分成两个子编码器:1)lp模式基于经典的语音编码技术,可以最多编码采样率为16khz的信号;2)celt是一种变换域编码方法,将信号变换到mdct域后通过矢量量化进行编码。此外,通过结合lp模式和celt,可以实现超宽带、全带语音编码效果。
43.现有的语音编码方式虽然已经有多种,但是在语音信号的编解码及传出过程中,由于量化失真(qd,quantization distortion)、转码失真(td,transcoding distortion)、
以及传输网络质量等多种原因素的影响,信号接收端所能够解码得到的信号的质量仍有待改进,而在采用opus编码方式时,由于opus不具备可伸缩特性,一旦在传输过程中发生丢包,接收端将无法恢复出语音信号。
44.针对现有技术中所存在的上述问题,本技术实施例提供了一种语音信号的编码方法、解码方法、装置、设备及存储介质,基于本技术实施例提供的该方案,能够有效提高接收端解码恢复出语音信号的概率,且在网络传输质量较好时,能够恢复出高质量的语音信号。
45.本技术所提供的方案在实施时,有些步骤的可以采用现有方式,如本技术实施例所提供的方案中,包含有获取原始语音信号的低频子带信号和高频子带信号的步骤、以及基于解码结果得到的低频子带信号和高频子带信号重建语音信号的步骤,作为一种可选方式,这两个步骤的实现则可以采用现有的qmf分析-合成滤波器组实现。为了便于说明及理解本技术实施例的方案,下面首先对qmf分析-合成滤波器组的原理进行简要说明。
46.按照经典信号理论,每一个频点包含幅度和相位信息,qmf是一个包含分析-合成的滤波器对。对于qmf分析滤波器,可以将输入的采样率fs的信号分解成两路采样率fs/2的信号,分别表示qmf低通信号和qmf高频信号。如图1所示,为qmf滤波器的低通部分h
low
(z)和高通部分h
high
(z)的频谱响应曲线,其中,横坐标表示频率,单位为khz,纵坐标表示幅度增益,单位为db。qmf滤波器的低通滤波和高通滤波的系数之间的相关性可以表示为:
47.h
high
(k)=-1
k
h
low
(k)
48.其中,k为qmf滤波器的阶数,h
high
(k)为第k阶滤波器的高通滤波系数,h
low
(k)为第k阶滤波器的低通滤波系数。
49.类似地,根据qmf相关理论,可以基于qmf分析滤波器组(h
low
(z)和h
high
(z))描述qmf合成滤波器组(低通滤波器g
low
(z)和高通滤波器g
high
(z)):
50.g
low
(z)=h
low
(z)
51.g
high
(z)=(-1)*h
high
(z)
52.解码端恢复出的低通信号和高通信号,经过qmf合成滤波器组处理,可以恢复出采样率fs的信号。
53.为使本技术的目的、技术方案和优点更加清楚,下面将结合具体地实施例和附图对本技术的各可选的实施方式及本技术实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
54.图2示出了本技术实施例提供的一种语音信号的编码方法的流程示意图,如图2中所示,该方法主要可以包括以下步骤:
55.步骤s110:获取原始语音信号的低频子带信号和高频子带信号;
56.原始语音信号即为待编码的语音信号,其中,语音信号的来源本技术实施例不做限定,如可以是采集的用户的语音信号、接收到的语音信号、还可以是视频中的音频信号等。可选的,在语音信号传输的应用场景(如语音通话、音频会议或音视频会议)中,如原始语音信号为待传输的语音信号。
57.其中,低频子带信号为原始语音信号的低频部分,高频子带信号为原始语音信号的高频部分。
58.可选的,可以通过低通滤波器得到低频子带信号,通过高通滤波器得到高频子带
信号。为了描述方便,在本技术的下文描述中,低频子带信号也可以称为低通信号、低通子带信号、低频信号或者低频部分,高频子带信号也可以称为高通信号、高通子带信号、高频信号或者高频部分。
59.本技术的可选实施例中,获取原始语音信号的低频子带信号和高频子带信号,包括:
60.通过qmf分析滤波器对所述原始语音信号进行处理,得到所述原始语音信号的低频子带信号和高频子带信号。
61.具体的,对于原始语音信号s(n),假定采样率为fs,经过qmf分析滤波器以及降2采样,可以获得低通子带信号s_lb(n)和高通子带信号s_hb(n)这两路子带信号,两路子带信号的采样率为fs/2。
62.步骤s120:采用第一编码方式对低频子带信号进行编码,得到第一子码流;
63.步骤s130:采用至少一种第二编码方式对高频子带信号进行编码,得到分别对应于各第二编码方式的各第二子码流。
64.其中,第一编码方式和第二编码方式的具体编码方式本技术实施例不做限定,可以根据实际需求配置。作为一可选方式,第一编码方式可以为时域编码方式,如opus-lp编码方式,第二编码方式可以是基于频带扩展的编码方式或变换域编码方式中的一种或两种。
65.需要说明的是,步骤s120和步骤s130的执行顺序可以具有先后顺序关系,也可以不具有先后顺序关系,例如,如果所采用的第二编码方式在实施时,需要采用步骤s120的处理结果或者处理过程中的中间数据,则步骤s130在步骤s120之后执行,如果所采用的第二编码方式在实施时,与步骤s120无关,则步骤s120和步骤s130在执行时可以没有先后顺序。
66.本技术的可选实施例中,第一子码流的编码主要涉及低频信号、第二子码流主要涉及高频信号;因此,在传输原始语音信号时,第一子码流的传输优先级高于各第二子码流。
67.同样的,在采用至少两种第二编码方式时,各第二子码流的传输优先级也可以不同。
68.由于低频信号部分为原始语音信号的核心部分,因此,低频子带信号所对应的第一子码流的编码质量高于高频子带信号所对应的各第二子码流的编码质量。而在进行码流传输时,为了更好的保证高质量的第一子码流被接收端接收到,因此,第一子码流的传输优先级高于各第二子码流的传输优先级。同样的,为了实现更多层级的可伸缩编码方式,在采用多种第二编码方式得到多个第二子码流时,各第二子码流的编码质量及传输优先级也可以不同,以适应于各种不同的应用场景及各种状态的传输网络。
69.本技术实施例所提供的该方案,能够采用两种或者两种以上的编码方式对原始语音信号进行编码,其中,可以采用第一编码方式对低频子带信号进行编码,采用一种或者多种(包括两种)第二编码方式对高频子带信号进行编码,从而得到对应于多种不同编码方式的码流。采用该方案,可以对语音信号进行多层级的编码,在对编码后的码流进行传输时,只要接收到能够接收到低频子带信号对应的第一子码流,既可恢复出质量还可以的语音信号,进一步的,如果能够接收到第二子码流,则可以基于第一子码流和第二子码流恢复得到质量更好的语音信号。因此,采用本技术实施例所提供的方案,能够有效提高接收端解码恢
复出语音信号的可能性,且在网络传输质量较好时,能够恢复出高质量的语音信号,更好的满足于各种语音信号传输的应用场景。
70.本技术的可选实施例中,第二编码方式可以包括基于频带扩展的编码方式,采用基于频带扩展的编码方式对高频子带信号进行编码,包括:
71.获取高频子带信号的频谱包络信息;
72.基于高频子带信号的频谱包络信息进行量化编码。
73.其中,具体采用哪种基于频带扩展(bwe,bandwidth expansion)的编码方式本技术实施例不做限定,可以根据实际需求进行选择。
74.作为一可选方案,第一编码方式为时域编码方式,第二编码方式包括变换域编码方式,采用变换域编码方式对高频子带信号进行编码,包括:
75.采用变换域编码方式对高频子带信号进行编码,或者对高频子带信号和残差信号进行编码,其中,残差信号为低频子带信号的编码结果和低频子带信号之间的残差信号。
76.也就是说,可以是对高频子带信号和残差信号采用变换域编码方式进行编码。其中,采用变换域编码方式对信号进行编码的具体实现为现有技术,主要可以包括将需要编码的信号(本技术实施例中的高频子带信号)进行时频变换后,采样现有的变换域编码方式进行编码即可,在此不再展开。
77.对应于本技术实施例所提供的语音信号的编码方法,本技术实施例还提供了一种语音信号的解码方法,如图3中所示,该语音信号的解码方法可以包括以下步骤:
78.步骤s310:获取待解码的码流,码流包括第一子码流,其中,第一子码流是对原始语音信号的低频子带信号采用第一编码方式进行编码得到的码流;
79.步骤s321:若码流中未包含第二子码流,则基于第一子码流进行信号重建,得到重建的语音信号;
80.步骤s322:若码流中包括至少一种第二子码流,则基于第一子码流和至少一种第二子码流进行信号重建,得到重建的语音信号,其中,各第二子码流是通过各自对应的第二编码方式对原始语音信号的高频子带信号进行编码得到的码流。
81.基于本技术实施例的该解码方法,在获取到待解码的码流后,如果该码流中只包含第一子码流,则可以基于该子码流重建得到质量可以接受的语音信号;如果该码流中还包含第二子码流,则可以基于该第一子码流和第二子码流进行信号重建,重建得到语音质量很高的语音信号。基于该方案,能够有效保证了解码端重建出语音信号的可能性,且在能够获取到第二子码流时,重建出质量很高的语音信号,更好的满足了实际应用需求。
82.本技术的可选实施例中,基于第一子码流进行信号重建,得到重建的语音信号,具体可以包括:
83.对第一子码流进行解码,得到第一子带信号;
84.基于第一子带信号,重建对应于原始语音信号的低频子带信号的第二子带信号、以及对应于高频子带信号的第三子带信号;
85.基于第二子带信号和第三子带信号得到解码后的语音信号。
86.可以理解的是,第一子带信号即为解码得到的与原始语音信号的低频部分相对应的子带信号。
87.由于第一子码流是采用第一编码方式编码得到的,因此,可以采用与第一编码方
式对应的解码方式对第一子码流进行解码,得到原始语音信号的低通信号的主要部分(即上述第一子带信号),并可以基于该部分重建得到与原始语音信号的低通信号对应的第二子带信号,以及与原始语音信号的高通信号对应的第三子带信号,从而基于重建出的低通信号和高通信号得到重建的语音信号。其中,对于不同的第一编码方式,基于第一子码流重建得到语音信号的方式也可能不同,如第一编码方式为opus-lp编码时,则采用opus-lp解码方式对第一子码流进行解码。
88.本技术的可选实施例中,低频子带信号和高频子带信号是通过qmf分析滤波器对待处理语音信号进行处理得到的;相应的,基于第二子带信号和第三子带信号得到解码后的语音信号时,具体可以包括:
89.基于第二子带信号和第三子带信号,通过qmf合成滤波器得到解码后的语音信号。
90.在对原始语音信号进行编码时,可以采用qmf分析滤波器对该语音信号进行分带处理,得到该语音信号的低频子带信号和高频子带信号,那在基于获取到的码流重建得到对应于低频子带信号的第二子带信号,以及对应于高频子带信号的第三子带信号后,则可以采用qmf合成滤波器进行信号合并,得到重建的语音信号。
91.其中,在基于第一子码流得到第一子带信号后,可以采用音频超分的方式得到第二子带信号和第三子带信号。对于该方案,本技术实施例提供了以下两种可选的实施方式:
92.方式一:确定第一子带信号的第一频谱系数;
93.基于第一频谱系数,通过第一神经网络模型预测得到第二频谱系数;
94.基于第一频谱系数和第二频谱系数,得到第二子带信号和第三子带信号。
95.方式二:
96.确定第一子带信号的第一频谱系数;
97.通过复制第一频谱系数,得到第三频谱系数;
98.基于第三频谱系数得到第一设定数量的第一子带频谱包络;
99.基于第一频谱系数,通过第二神经网络模型预测得到第一设定数量的第二子带频谱包络;
100.基于第一子带频谱包络和第二子带频谱包络,对第三频谱系数进行调整,得到第四频谱系数;
101.基于第一频谱系数和第四频谱系数,得到第二子带信号和第三子带信号。
102.近年来,随着深度学习的进步,通过深度学习,将低分辨率图像“预测”出高分辨率图像、或者将低采样率音频信号“预测”出高采样率音频信号成为一种可能。因此,解码端即使在只获得到低频子带信号所对应的第一码流的情况下,也可以重建出质量可接受的、采样率与编码端输入信号(即原始语音信号)一致的信号。
103.本技术实施例所提供的上述方式一和方式二即是采用深度学习的方式,通过训练好的神经网络模型预测得到频谱系数或频谱包络,并基于预测结果和基于第一子码流得到的低频部分的频谱系数进行信号重建,得到低频部分对应的第二子带信号和高频部分对应的第三子带信号。
104.由前文的描述可知,在采用第一编码方式对原始语音信号的低频子带信号进行编码得到第一子码流时,第一编码方式可以是时域编码方式,如opus-lp编码方式。下面以第一编码方式是opus-lp编码方式为例的,对基于第一子码流重建得到语音信号的方案进行
说明。
105.具体的,在得到第一子码流时,可以是采用opus-lp解码方式实现低通信号的重建。与g.729.1等经典编码器类似,该编码方式通过对第一子码流进行解析,可以分别获得信号类型、lpc参数量化值、ltp量化参数值、激励信号等参数的量化索引值,对于不同的变量(标量或者矢量形式),通过查表或者码表索引等操作,可以获得相应变量的具体数值,之后可以基于这些具体数值,通过调用合成滤波过程重建出低通信号。具体的lp解码过程属于现有技术,在此不再展开。
106.对于上述方式一,则是采用基于系数回归(coefficient regression)的方式重建得到第二子带信号和第三子带信号,上述方式二,则是采用基于参数回归(parametric regression)的方式重建得到第二子带信号和第三子带信号。为了描述方便,下面结合一个具体示例进行进一步说明。
107.假定待编码的原始语音信号的采样率fs=32000hz,帧长为20ms,因此,对应于低通信号或者高通信号,每帧有640样本点。对于fs=16000hz的低通或者高通信号,可以使用50%交叠mdct为例,将前后两个20ms的帧合并、加窗后,进行mdct变换,可以获得320个mdct系数。
108.需要注意的,一般lp分析可以恢复出0-7000hz相关的频谱,对应于低通mdct系数的0-279区间的系数(第一低通系数,即第一频谱系数);因此,为了恢复得到对应的低通信号和高通信号,只需要恢复出低通mdct系数的280-319区间的系数(第二低通系数)、以及高通mdct系数的0-239区间的系数(第一高通系数),即可获得0-14000hz相关的频谱,可以理解的是,第二低通系数和第二高通系数即上述第二频谱系数。
109.对于上述方式一的超分方案,可以通过建立280-to-280的映射网络(即上述第一神经网络模型),可以预测出对应第二低通系数和第一高通系数的mdct系数。
110.需要说明的是,上述第一神经网络模型和第二神经网络模型的具体网络结构本技术实施例不做限定,可以根据实际需求配置,如均可以采用深度神经神经网络。在实际应用中,可以配合收集好的训练数据,调用tensorflow、pytorch等开源深度学习工具包,对初始的深度神经网络进行训练,可以获得深度神经网络内部的参数即模型参数。在得到训练好的深度神经网后,对于任意输入的新数据,通过调用该网络参数,即可预测出所需的低频和高频的mdct系数。
111.作为一可选方式,第一神经网络模型可以包括依次级联的输入层、隐藏层和输出层,隐藏层可以包括依次级联的lstm(long short-term memory,长短期记忆网络)层和全连接层;其中,lstm层和全连接层均可以包括一层或多层,如可以是2层级联的各包含1024个节点的lstm层,一层包含512个节点的全连接层。
112.在通过该神经网络模型预测第二频谱系数时,输入层的输入为第一频谱系数,即上述示例中的280个点的第一低通系数;lstm层则用于对输入层处理后的数据进行特征提取;全连接层则用于对lstm层所提取得到的特征向量再次进行特征提取;输出层则用于基于全连接层所提取得到的特征向量,得到维度为280的输出向量,其中,输出向量中的各元素的元素值为预测出的第二频谱系数,即上述示例中的包含第二低通系数和第一高通系数的280个点的mdct系数。
113.coefficient regression是一种高冗余的深度学习方法,网络结构相对比较复
杂,模型的训练及数据处理相对较慢,因此,作为另一可选方式,可以采用本技术实施例所提供的上述方式二中所提供的更为高效的基于parametric regression的方式,该方式的理论基础在于,相对低频部分,高频频谱对失真的容忍度高,因此,可以采取相对低精度的处理。
114.具体的,对于上述方式二,可以将相邻的n(n≥2)个第一频谱系数合并成为一个子带,比如n=20,对于上述示例,则可以将280个第一低通系数划分为14个子带,得到14个(本示例中的第一设定数量)子带频谱包络(即上述第二子带频谱包络),本超分方案,通过建立280-to-14的映射网络,可以预测出对应高频和部分低频的mdct系数的子带包络值。子带包络值可以定义为子带系数的平均能量,或者其在对数域的表示。也就是说,可以基于280个第一低通系数,通过第二神经网络模型预测得到对应于第二低通系数和第一高通系数的14个子带频谱包络。
115.作为一可选方案,第二神经网络模型可以包含输入层、隐藏层和输出层,其中,隐藏层可以包含依次级联的lstm层和全连接层,如一层节点数量为1024的lstm层和1层节点数量为512的全连接层。在预测得到14个子带包络时,输入层的输入为280个第一低通系数,lstm层对输入层进行处理后的特征向量进行特征提取,全连接层则对lstm层处理后的特征向量进行处理,输出层则基于lstm层的输出预测得到14个子带频谱包络的包络值。
116.相对于方式一的超分方案,方式二的该超分方案的网络结构和复杂度可以更低。
117.为了得到40个第二低通系数和240个第一高通系数,可以通过复制第一低通系数得到初始的第二低通系数和第一高通系数(即上述第三频谱系数),如可以通过将第一低通系数的140-279区间的系数复制两次得到,之后,可以采用同样的方式,将该初始的第二低通系数和第一高通系数划分得到14个子带频谱包络(即上述第一子带频谱包络),并可以基于第一子带频谱包络和第二子带频谱包络的差值,对初始的第二低通系数和第一高通系数,得到第四频谱系数,该系数即为修正后的第二低通系数和第一高通系数,之后,便可以基于第一频谱系数和第四频谱系数,得到第二子带信号和第三子带信号。
118.具体的,该示例中,每个子带频谱包络(第一子带频谱包络和第二子带频谱包络)对应于20个第三频谱系数,可以基于每一对相对应的第一子带频谱包络和第二子带频谱包络,确定出一个差值,该差值即可以作为对应的待调整的20个第三频谱的待调整参量,从而可以基于该待调整参量,实现对初始频谱系数的调整,得到调整后的第四频谱系数。
119.在实际应用中,为了在不改变数据的性质和相关关系的前提下,缩小了变量的尺度,方便计算,通常采用对数域的数据进行计算,取对数后,可以使得数据更加平稳等。因此,本技术实施例中的上述各子带频谱包络具体可以是对数域的包络值,相应的,在基于上述差值进行第三频谱系数进行增益调整时,可以将各第三频谱系数先转换为对数域的系数,再采用相应的差值进行调整。当然,作为另一可选的方式,也可以不将初始频谱系数进行对数变换,而是将上述各差值进行反对数变换,将变换后的差值应用于对应的各初始频谱系数上,实现频谱系数的增益控制。
120.例如,对于一个第一子带频谱包络,基于该第一子带频谱包络所对应的上述差值,可以对该第一子带频谱包络所对应的20个第三频谱系数进行调整,例如,可以将该第一子带频谱包络所对应的各频谱系数分别进行对数转换,得到对数域的系数,基于该第一子带频谱包络所对应的差值,分别对对数域的各系数进行增益调整,得到调整后的各系数,之
后,将调整后的各系数进行反对数变换,得到该第一子带频谱包络对应的20个第四频谱系数。
121.在能够获取到对应于高频子带信号的至少一种第二码流时,则可以基于第一子码流和第二子码流来实现语音信号的重建,得到质量更高的语音信号。
122.本技术的可选实施例中,基于第一子带信号和至少一种第二子码流进行信号重建,得到解码后的语音信号,包括:
123.基于第一子码流和至少一种第二子码流,重建对应于低频子带信号的第四子带信号、以及对应于高频子带信号的第五子带信号;
124.基于第四子带信号和第五子带信号得到解码后的语音信号。
125.其中,若第二子码流为一种,基于第一子带信号和至少一种第二子码流,重建第四子带信号和第五子带信号,可以包括:
126.对第一子码流进行解码,基于解码结果得到第一频谱系数
127.对第二子码流进行解码,基于解码结果得到第五频谱系数;
128.基于第一频谱系数和第五频谱系数,得到第四子带信号和第五子带信号。
129.可以理解的是,第一频谱系数即为通过解码第一子码流所得到的第一子带信号的频谱系数,也就是解码分析得到的原始语音信号的低频部分所对应的频谱系数,而第二子码流是原始语音信号的高频部分所对应的码流,因此,可以通过对第二子码流进行解码分析,得到高频部分所对应的频谱系数,从而可以基于这两部分的频谱系数得到重建的低频子带信号和高频子带信号,即上述第四子带信号和第五子带信号。
130.本技术的可选实施例中,对第二子码流进行解码,基于解码结果得到第五频谱系数,包括:
131.对第二子码流进行解码,基于解码结果得到第二设定数量的第三子带频谱包络;
132.通过复制第一频谱系数得到第六频谱系数;
133.基于第六频谱系数得到第二设定数量的第四子带频谱包络;
134.基于第四子带频谱包络和第三子带频谱包络,对第六频谱系数进行调整,得到第五频谱系数。
135.该方案中,可以通过复制解码得到的低频部分的第一频谱系数作为部分低频部分的频谱系数(对应前文中的第二低通系数)和部分高频部分的初始频谱系数(对应前文中的第一高通系数),再基于第二子码流的解码结果,对该初始频谱系数进行调整,得到更加准确的频谱系数。
136.可选的,在实际应用中,在基于第四子带频谱包络和第三子带频谱包络,对第六频谱系数进行调整时,可以是只基于第四子带频谱包络和第三子带频谱包络对第六频谱系数调整。具体的,每一子带频谱包络对应一定数量的频谱系数,如将20个相邻的频谱系数作为一个子带,则可以基于每20个相邻的频谱系数计算得到一个子带频谱包络的包络值,例如,对于第一个第四子带频谱包络,其对应前20个第六频谱系数,对于第三子带频谱包络,其也对应于解码得到的前20个频谱系数,而前20个第六频谱系数和解码得到的这20个频谱系数均对应于所要重建的信号中相同的20个频谱系数,因此,可以基于该第三频谱包络和该第四频谱包络的差值,对上述前20个第六频谱系数进行增益调整,得到20个调整后的频谱系数(即第五频谱系数),采用该方式,可以对所有的第六频谱系数完成增益调整。
137.本技术的可选实施例中,基于第四子带频谱包络和第三子带频谱包络,对第六频谱系数进行调整,得到第五频谱系数,包括:
138.基于第一频谱系数,通过第三神经网络模型预测得到第二设定数量的第五子带频谱包络;
139.基于第四子带频谱包络和第五子带频谱包络对第六频谱系数进行调整、以及基于第四子带频谱包络和第三子带频谱包络对第六频谱系数进行调整,得到第五频谱系数。
140.该方案中提供另一种基于第四子带频谱包络和第三子带频谱包络,对第六频谱系数进行调整可选方式,该方案中,除采用基第四子带频谱包络和第三子带频谱包络对第六频谱系数进行调整外,还可以基于低频部分对应的第一频谱系数通过神经网络预测得到与第四子带频谱包络相同的第五子带频谱包络,基于第五子带频谱包络和第四子带频谱包络对第六频谱系数调整,其中,调整的具体方式可以参见前文中基于第四子带频谱包络和第三子带频谱包络进行调整的方式。采用该方案,实现了基于高频部分的第二子码流的解码结果和低频部分的第一子码流的解码结果,共同对频谱系数的调整,从而可以得到更加准确的调整后的频谱系数。
141.其中,基于第四子带频谱包络和第五子带频谱包络对第六频谱系数进行调整、以及基于第四子带频谱包络和第三子带频谱包络对第六频谱系数进行调整的执行顺序,本技术实施例不做限定,如可以先基于第四子带频谱包络和第五子带频谱包络对第六频谱系数进行调整,再基于第四子带频谱包络和第三子带频谱包络对调整后的第六频谱系数再次进行调整。
142.本技术的可选实施例中,若码流中包括至少两种第二子码流,基于第一子码流和至少一种第二子码流,重建第四子带信号和第五子带信号,包括:
143.对第一子码流进行解码,基于解码结果得到第一频谱系数;
144.分别对各第二子码流进行解码,基于解码结果得到各第二子码流各自所对应的子带频谱包络;
145.通过复制第一频谱系数,得到第七频谱系数;
146.基于各第二子码流各自所对应的子带频谱包络,对第七频谱系数进行调整,得到第八频谱系数;
147.基于第一频谱系数和第八频谱系数,得到第四子带信号和第五子带信号。
148.需要说明的是,在实际应用中,如果获取到多种第二子码流,在基于第一子码流和第二子码流重建语音信号时,可以采用所获取到的其中任意一种第二子码流,如可以采用所获取到的各第二子码流中编码质量最高的码流,也可以采用所获取到的所有第二子码流中的多种或全部。
149.其中,在采用至少两种第二子码流时,对于每一种第二子码流,可以分别采用前文中所描述的对第六频谱系数进行调整的方式,对第七频谱系数进行调整,如采用两种第二子码流时,可以先基于其中一种对第七子频谱系数进行调整,再基于另一种对调整后的频谱系数再次进行调整。
150.在得到对应于低频部分的第四子带信号和对应于高频部分的第五子带信号后,既可基于这两种信号得的重建后的语音信号。作为一可选方式,低频子带信号和高频子带信号可以是通过qmf的分析滤波器对待处理语音信号进行处理得到的;相应的,基于第四子带
信号和第五子带信号得到解码后的语音信号,可以是基于第四子带信号和第五子带信号,通过qmf合成滤波器得到重建的语音信号。
151.为了更好的说明本技术实施例所提供的编码方法和解码方法,下面将结合一些具体示例对该编码方法和解码方法行进一步详细说明。
152.示例一
153.作为一个示例,图4示出了本技术所提供的一种语音编码方法的流程示意图,该示例中,第一编码方式为lp编码方式,第二编码方式包括基于频带扩展的编码方式(即图中所示的bwe编码)和变换域编码方式。该示例中时域的原始语音信号记为s(n),如图4中所示,该示例中的语音编码方法的流程可以包括如下步骤:
154.对于待编码的语音信号s(n),假定采样率为fs,该语音信号s(n)经过qmf分析滤波器(图中所示的qmf滤波器)以及降2采样,可以得到低通信号s_lb(n)(即低频子带信号)和高通信号s_hb(n)(即高频子带信号)。
155.第一方面,对于低频子带信号,使用lp编码进行编码,并将相关参数写入码流。相关参数可以包括但不限于:信号类型,lsf量化索引值、ltp量化索引值、激励信号量化索引值等。本示例中,相关码流段可以即为mux1,该码流段即为第一子码流。
156.第二方面,本示例中以频域为主的频带扩展的编码方式为例,将高频子带信号的谱包络信息进行量化编码,得到的相关码流段可以记为mux2,该码流段即为一种第二子码流。
157.第三方面,进行变换域编码,得到的相关码流段可以记为mux3,该码流即为另一种第二子码流。其中,变换域编码的输入可以是将低频子带信号经过lp编码得到的信号与原始低频子带信号的残差信号,并合上原始高频子带信号,也可以仅处理高频子带信号。
158.如图4中所示,一种方式是将低频子带信号和将低频子带信号s_lb(n)经过lp编码得到的信号s

_lb(n)进行残差计算,得到残差信号r_lb(n),将该残差信号r_lb(n)和高频子带信号s_hb(n)分别经过时频变换(本示例中以mdct为例)后,得到频域信号r_lb(n)和s_hb(n),之后可以使用常规变换域编码方式对r_lb(n)和s_hb(n)进行编码,得到mux3。另一种方式则可以是直接将高频子带信号s_hb(n)经过时频变换得到s_hb(n),之后对s_hb(n)使用常规变换域编码,得到mux3。
159.本技术的下文示例中,为例描述方便,将以变换域编码技术应用于高通信号部分为例进行描述说明;然而,本发明对将变换域编码技术用于低通信号的残差信号增强不做限制。上述编码流程中,与现有技术(itu-t g.729.1,g.718,evs)在框架实现上没有本质变化,在此不做详细的展开。
160.接下来的示例中,将围绕解码端,对采用上述图4中所示的编码方法得到的码流进行解码,得到重建的语音信号的流程进行具体的示例描述。
161.示例二
162.作为一示例,图5中示出了一种解码方法的流程示意图,如图5中所示,该解码流程主要可以包括:
163.–
基于接收到的mux-1码流,调用lp解码器,生成低通部分的信号,即基于第一子码流得到第一子带信号。
164.–
如果解码端未接收到第二子码流mux-2或mux-3,即图5中所示的情况一,可以直
接调用音频超分,生成高通部分的信号,以确保解码端生成的信号s_rec(n)在任何时刻皆可以获得fs的采样率。
165.–
如果解码端也接收到mux-2码流,即图5中所示的情况二,则可以通过解码mux-2,解码出谱包络,在此基础上,可以基于解码出的谱包络调整音频超分获得的谱包络信息,并重新生成频谱。
166.–
如果解码端也接收到mux-3码流,即图5中所示的情况三,则可以通过解码mux-3码流解码出子带的归一化系数,并乘以对应谱包络值,替换对应子带的频谱。
167.–
将生成的低通信号和高通信号,进行升2采样后,调用qmf合成滤波器,重建出采样率为fs的信号。
168.下面将结合几种可选的方案,对上述各解码步骤进行详细说明。
169.第1步:低通信号的重建
170.对于获取到的mux-1码流,可以采用opus-lp解码模式,解码得到主要部分的低通信号,即第一子带信号。其中,采用opus-lp解码方式解码得到低通信号的具体步骤为现有技术,在此不再展开说明。
171.第2步:基于音频超分技术的高通信号的重建
172.为了描述方便,假设原始语音信号的采样率fs=32000hz,帧长为20ms,因此,对应于原始语音信号的低频子带信号或者高频子带信号,每帧有640样本点。对于fs=16000hz的低频子带信号或者高频子带信号,可以使用50%交叠mdct为例,将前后两个20ms的帧合并、加窗后,进行mdct变换,可以获得320个mdct系数。
173.在解码端,基于第1步所得到的低通信号,可以通过lp分析得到0-7000hz相关的频谱,对应于低频mdct系数的0-279区间的频谱系数(简称为第一低频系数)。
174.对于各码流的不同接收情况,可以对应于不同的重建方式,下面将结合不同的可选重建方式进行说明。
175.重建方式一:基于低通信号的高通信号重建
176.如果解码端未获取到mux-2码流或mux-3码流,该步骤的具体可以采用前文中所描述的方式一或方式二所描述的方式实现,即基于lp分析得到的280个第一低频系数,通过280-to-280的映射网络(即第一神经网络模型)得到280个频谱系数,该280个频谱系数中包含40个第二低频系数和240个第一高频系数;或者是,可以基于280个第一低频系数,通过280-to-14的映射网络(即第二神经网络模型)得到14个子带频谱包络的包络值,基于这14个包络值对通过复制第一低频系数的140-279区间的系数得到的280个频谱系数进行调整,得到第二低频系数和第一高频系数。
177.在得到第二低频系数和第一高频系数之后,可以将第二低频系数进行mdct反变换,并与-lp解码获得的s_lb(n)进行合并运算,之后进行升2采样,调用qmf合成滤波器的低通支路,重建出低通重建信号,即第二子带信号。将第一高频系数进行mdct反变换,并与将第一高通系数与80个零系数进行合并,得到320个mdct系数,对着320个系数进行mdct反变换,生成时域信号,将该时域信号进行升2采样,调用qmf合成滤波器的高通支路,重建出高通重建信号,即第三子带信号(图5中所示的s_hb(n))。最后,将重建出的低通重建信号和高通重建信号求和,获得重建信号s_rec(n)。
178.重建方式二:基于频带扩展的高通信号重建
179.相对于超分,频带扩展需要解析mux2码流,获得相应的参数。具体的,可以通过解析mux2码流(图5中所示的bwe解码),获得在编码端用于计算真实mdct系数的谱包络的量化值,得到估计的谱包络,为描述方便,该估计的谱包络称为第二估计谱包络(可以对应于前文中第三子带频谱包络)。
180.对于上述重建方式一中所得到的第二低通系数和第一高通系数(可以是通过复制第一低通系数得到的系数,也可以是对复制后的系数进行调整后的系数),可以基于这些系数得到第一估计谱包络(对应于前文中的第四子带频谱包络)。
181.之后,在对数域,可以根据第一估计谱包络和第二估计谱包络的差值,对相应子带内的系数(如上述重建方式一中所得到的第二低通系数和第一高通系数)进行调整(图中所示的频谱调整步骤),生成调整后的第二低通系数和第一高通系数。
182.同样的,在得到调整后的第二高通系数和第一高通系数之后,可以采用上述重建方式一种所描述的方式得到重建信号s_rec(n)。
183.重建方式三:基于变换域编码的高通信号重建
184.在该示例中,为了更好的理解该方案,在说明重建步骤之前,首先对变换域编码的操作流程进行说明,在编码端对高频子带信号进行编码的流程可以包括:
185.–
将高频子带信号划分为设定数量的子带,如划分为14个子带,每个子带对应20个频谱系数,并对每一个子带中的频谱系数进行归一化,得到每个子带对应的归一化系数。
186.–
对14个子带,进行感知重要性排序。一种具体的实现方法包括:按每个子带的子带频谱包络的值大小,进行降序排序。当然,也可以采用其他排序方式,本技术实施例不做限制,如也可以采用自然排序。
187.–
在每一个子带中,将20个归一化系数进一步分解成5个4维向量,对上述4维向量采用矢量量化,并将量化的索引值进行记录。
188.–
按感知排序的顺序,对将每个子带的矢量量化的索引值,按顺序依次写进码流mux3。
189.按照上述编码端的描述,在获取到mux-1和mux-3时,解码端可以对应有多种不同的信号重建方式,例如,可以采样上述重建方式二中类似的方案,基于mux-3的解码结果,得到子带频谱包络,基于该子带频谱包络和基于mux-1的解码结果得到的第一估计谱包络,对相应子带内的系数(如上述重建方式一中所得到的第二低通系数和第一高通系数,或者上述重建方式二中所得到的调整后的第二低通系数和第一高通系数)进行调整,得到调整后的第二低通系数和第一高通系数。之后,基于调整后的第二低通系数和第一高通系数,采用前文中所描述的方式得到重建信号s_rec(n)。
190.在解码端能够获取到mux-1、mux-2和mux-3时,还可以采用以下方式进行信号重建,该方式可以包括以下步骤:
191.–
通过解码mux-1得到s_lb(n);
192.–
对于mux-2,可以采用重建方式二中的步骤得到第二估计谱包络的值,如14个包络值,并可以选择与上述变换域编码中编码端一致的排序,对14个子带的包络值进行排序。
193.–
通过顺序解析mux-3,可以获得矢量量化的索引值,根据索引值计算获得14个子带对应的归一化系数。
194.–
基于获得的第一归一化系数,可以计算得到第三估计谱包络
195.–
在对数域,根据第三估计谱包络和第二估计谱包络的差值,对相应子带内的系数(如上述重建方式一中所得到的第二低通系数和第一高通系数,或者上述重建方式二中所得到的调整后的第二低通系数和第一高通系数)进行调整(对应图5中所示的频谱替换步骤),得到调整后的第二低通系数和第一高通系数。
196.之后,在得到调整后的第二高通系数和第一高通系数之后,即可采用上述重建方式一种所描述的方式得到重建信号s_rec(n)。
197.示例三
198.图6中示出了本示例中所提供的一种语音解码方法的流程示意图,该示例中编码端的第一编码方式为lp时域编码方式,第二编码方式为变换域编码方式,其中,在编码端,采用lp编码方式对低频子带信号进行编码得到mux-1,采用变换域编码方式对高频子带信号进行编码得到mux-3的步骤可以包括:
199.–
该示例中,由于没有基于频带扩展对高频子带信号进行编码,所以码流中无高频的包络值,此时,则可以按照从低频到高频的顺序,仍以前文中的数据为例,对高频子带信号的14个子带进行自然排序,每个子带对应20个频谱系数。
200.–
在每一个子带中,将20个频谱系数进行归一化处理,并对归一化系数进一步分解成5个4维向量,对上述4维向量采用矢量量化,并将量化的索引值进行记录。
201.–
按照从低频到高频的自然顺序,对各子带的矢量量化的索引值,按顺序写进码流mux3。
202.与该编码方式相对应,如图6所示,本示例中解码端的解码流程可以如下:
203.第1步:低通信号的重建该步骤的实现可以参见前文中描述,即通过对mux-1进行lp解码,得到s_lb(n)。
204.第2步:高通信号的重建
205.该步骤中,一种情况是解码端未接收到mux-3,则可以采用前文中所描述的音频超分的处理方式,基于mux-1的解码结果,实现高通信号的重建,如通过上述重建方式一中所描述的方案,通过包络差值对复制得到的频谱系数进行调整,得到调整后的第二低通系数和第一高通系数。
206.另一种情况是解码端接收到了mux-3,此时,高通信号的重建流程如下:
207.–
基于mux-1的解码结果,可以得到第二低通系数和第一高通系数(同样可以是通过复制第一低通系数得到的频谱系数,也可以是对复制得到的第一低通系数进行调整后的频谱系数),并可以基于该第二低通系数和第一高通系数得到第一估计谱包络;
208.–
顺序解析mux-3码流,获得矢量量化的索引值,计算获得归一化系数。
209.–
基于第一归一化系数,计算第三估计谱包络(本示例中,将基于mux-3得到的频谱包络仍简称为了第三估计谱包络)。
210.–
在对数域,根据第三估计谱包络和第一估计谱包络的差值,对相应子带内的系数(即基于mux-1的解码结果得到的第二低通系数和第一高通系数)进行调整,得到调整后的第二低通系数和第一高通系数。
211.第4步:重建信号的生成
212.根据mux-3的实际接收情况,基于第3步中所得到的调整后的第二低通系数和第一高通系数,得到重建的语音信号s_lb(n),具体的,将第二低通系数进行mdct反变换,并与lp
解码获得的s_lb(n)进行合并运算,并进行升2采样,调用qmf合成滤波器的低通支路,重建出低通部分对应的重建信号;将第一高通系数与80个零系数进行合并,生成320mdct系数,并进行mdct反变换,生成时域信号,之后进行升2采样,调用qmf合成滤波器的高通支路,重建出高通部分对应的重建信号s_hb(n)。之后将第一低通重建信号和第一高通重建信号求合,获得重建信号s_rec(n)。
213.可以理解的是,上述各示例只是本技术所提供的方法的几种可选实施例方式,在实际应用中,可以根据不同的应用需求及应用场景,进行实施方式的调整,如对于上述各示例所示的方法,还可以采用lp编码和基于频带扩展的编码这两种编码方式,得到一种第一子码流和一种第二子码流,还可以采用更多种的编码方式,得到不同编码方式对应的子码流,在解码端,则根据实际所获取到的各子码流,进行语音信号的重建即可。
214.本技术实施例所提供的编解码方法,将输入信号(待编码信号,即原始语音信号)进行分带和分层编码(即采用不同的编码方式对子带信号进行编码)。对应于该编码方式,解码端在任何时间,至少可以通过音频超分的方法,恢复出与待编码信号一致的语音信号,确保输出信号的采样率与原输入信号一致。进一步的,解码端在得到高频部分所对应的子码流的情况系,可以根据解码端获得的高层码流情况,分别对频谱分别进行整形或者替换操作,进一步提升重建出对的语音信号的主观质量。本技术的方案,可以基于opus这种应用广泛的编码方式,实现可伸缩、更为灵活的编解码方式。在核心层(低频子带信号所对应的子码流)接收到情况下,实现高质量、宽频带的语音信号的重建。
215.本技术实施例所提供的语音编解码方法可以应用于任何需要进行编码和/或解码的应用场景中,如可以应用于在线的语音通话场景中,或者音频文件或视频文件的传输场景中,也就说,只要是涉及到音频的编解码的应用场景,本技术实施例所提供的方案均适用。
216.例如,在语音通话场景中,通话的各通话方的语音信号均需要进行编码压缩后,再传输到其他通话方,其他通话方则需要基于接收到的码流进行解码,重建出语音信号并播放。
217.为了更好的说明本技术实施例所提供的该方法,下面再结合一个具体的应用场景示例对该方法进行进一步说明。
218.图7中示出了本示例中的一种远程电话会议系统的结构示意图,如图中所示,该远程电话会议系统可以包括会议终端设备10和会议终端设备20,会议终端设备10和会议终端设备20之间通过服务器30通信连接,如图中所示,会议终端设备10和会议终端设备20分别通过网络与服务器30通信连接。其中,会议终端设备10和会议终端设备20具体可以为手机、电脑或其他专用的会议通话装置等。可以理解的是,在实际应用中,参与会议通话的可以是两方,也可以是多方。
219.下面基于图7中所示的该远程电话会议系统,结合具体应用场景对本技术实施例所提供的编码方法及解码方法进行实际应用中的说明。
220.在会议发起时,会议终端设备10和会议终端设备20通过服务器30连通,例如,以会议终端设备10和会议终端设备20均为智能手机为例,可以由参会的一方(对应设备10的一方)的参会人员a通过智能手机向参会的另一方(对应设备20的一方)的参会人员b的智能手机发起通信请求,会议人员b接受该请求后,会议的双方则建立起通信。
221.在通信建立成功进行语音会议的过程中,上述参会的一方的一个或多个参会人员的语音会话可以由会议终端设备10的音频采集模块(如麦克风)采集并进行语音编码,具体的,如通过麦克风采集到语音信号后,可以对语音信号进行分帧处理,对每一语音帧,则可以采用本技术实施例所提供编码方法进行编码处理,并将编码得到的码流通过服务器30发送至会议终端设备20,会议终端设备20对接收到的码流,则可以基于所接收到的码流中所包含的各子码流的具体情况,采用本技术实施例所提供的相对应的解码方式实现语音信号的重建,并对重建后的语音信号通过音频播放设备(如扬声器)播放给参会的另一方的参会人员。
222.同样的,参会的另一方的参会人员的发言也可以由会议终端设备20的音频采集模块采集并进行语音编码后,通过服务器30发送至会议终端设备10,由会议终端设备20基于所接收到的码流中所包含的码流的具体情况进行语音信号的重建并播放。
223.基于本技术实施例所提供的方案,语音信号的接收端,只要能够接收到低频子带信号所对应的子码流,即可重建得到质量可以接收的语音信号,在进一步接收到高频子带信号所对应的子码流时,则可以得到质量很好的重建信号,因此,通过本技术实施例所提供的方案,能够有效避免一旦发生丢包,导致解码端无法恢复出语音信号的问题,且在网络状态较好的情况下,能够恢复出质量很高的语音信号,有效保证了参会人员的听觉感知。
224.基于与本技术所提供的编码方法相同的原理,本技术实施例还提供了一种语音信号的编码装置,如图8中所示,该语音信号的编码装置100可以包括子带信号获取模块110和信号编码模块120,其中:
225.子带信号获取模块110,用于获取原始语音信号的低频子带信号和高频子带信号;
226.信号编码模块120,用于采用第一编码方式对所述低频子带信号进行编码,得到第一子码流;以及用于采用至少一种第二编码方式对所述高频子带信号进行编码,得到分别对应于各所述第二编码方式的各第二子码流。
227.可选的,第一编码方式包括opus编码方式。可选的,第二编码方法包括基于频带扩展的编码方式和/或变换域编码方式。
228.可选的,第一编码方式为时域编码方式,第二编码方式包括变换域编码方式,信号编码模块120在采用变换域编码方式对高频子带信号进行编码时用于:
229.采用变换域编码方式对高频子带信号进行编码,或者对高频子带信号和残差信号进行编码,其中,残差信号为低频子带信号的编码结果和低频子带信号之间的残差信号。
230.可选的,在传输原始语音信号时,第一子码流的传输优先级高于各第二子码流;
231.在采用至少两种第二编码方式时,各第二子码流的传输优先级不同,码流的编码质量越高。
232.基于与本技术所提供的解码方法相同的原理,本技术实施例还提供了一种语音信号的解码装置,如图9中所示,该语音信号的解码装置200可以包括码流获取模块210和信号重建模块220,其中:
233.码流获取模块210,用于获取待解码的码流,码流包括第一子码流,其中,第一子码流是对原始语音信号的低频子带信号采用第一编码方式进行编码得到的码流;
234.信号重新模块220,用于在码流中未包含第二子码流,基于第一子码流进行信号重建,得到重建的语音信号;以及用于在码流中包含至少一种第二子码流,基于第一子码流和
至少一种第二子码流进行信号重建,得到重建的语音信号;
235.其中,各第二子码流是通过各自对应的第二编码方式对原始语音信号的高频子带信号进行编码得到的码流。
236.可选的,信号重新模块220在基于第一子码流进行信号重建,得到重建的语音信号时用于:
237.对第一子码流进行解码,得到第一子带信号;基于第一子带信号,重建对应于低频子带信号的第二子带信号、以及对应于高频子带信号的第三子带信号,基于第二子带信号和第三子带信号得到解码后的语音信号。
238.可选的,信号重新模块220在基于第一子带信号,重建第二子带信号和第三子带信号时用于:
239.确定第一子带信号的第一频谱系数;
240.基于第一频谱系数,通过第一神经网络模型预测得到第二频谱系数,基于第一频谱系数和第二频谱系数,得到第二子带信号和第三子带信号;
241.或者,
242.通过复制第一频谱系数,得到第三频谱系数;基于第三频谱系数得到第一设定数量的第一子带频谱包络;基于第一频谱系数,通过第二神经网络模型预测得到第一设定数量的第二子带频谱包络;基于第一子带频谱包络和第二子带频谱包络,对第三频谱系数进行调整,得到第四频谱系数;基于第一频谱系数和第四频谱系数,得到第二子带信号和第三子带信号。
243.可选的,信号重新模块220在基于第一子码流和至少一种第二子码流进行信号重建,得到重建的语音信号时用于:
244.基于第一子码流和至少一种第二子码流,重建对应于低频子带信号的第四子带信号、以及对应于高频子带信号的第五子带信号;
245.基于第四子带信号和第五子带信号得到解码后的语音信号。
246.可选的,若第二子码流为一种,信号重新模块220在基于第一子码流和至少一种第二子码流,重建第四子带信号和第五子带信号时用于:
247.对第一子码流进行解码,基于解码结果得到第一频谱系数;
248.对第二子码流进行解码,基于解码结果得到第五频谱系数;
249.基于第一频谱系数和第五频谱系数,得到第四子带信号和第五子带信号。
250.可选的,信号重新模块220在对第二子码流进行解码,基于解码结果得到第五频谱系数时用于:
251.对第二子码流进行解码,基于解码结果得到第二设定数量的第三子带频谱包络;通过复制第一频谱系数得到第六频谱系数;基于第六频谱系数得到第二设定数量的第四子带频谱包络;基于第四子带频谱包络和第三子带频谱包络,对第六频谱系数进行调整,得到第五频谱系数。
252.可选的,信号重新模块220在基于第四子带频谱包络和第三子带频谱包络,对第六频谱系数进行调整,得到第五频谱系数时用于:
253.基于第一频谱系数,通过第三神经网络模型预测得到第二设定数量的第五子带频谱包络;基于第四子带频谱包络和第五子带频谱包络对第六频谱系数进行调整、以及基于
第四子带频谱包络和第三子带频谱包络对第六频谱系数进行调整,得到第五频谱系数。
254.可选的,若码流中包括至少两种第二子码流,信号重新模块220在基于第一子码流和至少一种第二子码流,重建第四子带信号和第五子带信号时,用于:
255.对第一子码流进行解码,基于解码结果得到第一频谱系数;分别对各第二子码流进行解码,基于解码结果得到各第二子码流各自所对应的子带频谱包络;通过复制第一频谱系数,得到第七频谱系数;基于各第二子码流各自所对应的子带频谱包络,对第七频谱系数进行调整,得到第八频谱系数;基于第一频谱系数和第八频谱系数,得到第四子带信号和第五子带信号。
256.可选的,低频子带信号和高频子带信号是通过qmf分析滤波器对待处理语音信号进行处理得到的;信号重新模块220在基于第二子带信号和第三子带信号得到解码后的语音信号时用于:基于第二子带信号和第三子带信号,通过qmf合成滤波器得到解码后的语音信号;
257.信号重新模块220在基于第四子带信号和第五子带信号得到解码后的语音信号时用于:基于第四子带信号和第五子带信号,通过qmf合成滤波器得到解码后的语音信号。
258.对于本领域技术人员而言清楚的是,由于本发明实施例所提供的装置为可以执行本发明实施例中的方法的装置,故而基于本发明实施例中所提供的方法,本领域所属技术人员能够了解本发明实施例的装置的具体实施方式以及其各种变化形式,所以在此对于该装置如何实现本发明实施例中的方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中的方法所采用的装置,都属于本技术所欲保护的范围。
259.基于与本技术实施例所提供的方法及装置相同的原理,本技术实施例还提供了一种电子设备,该电子设备包括存储器和处理器;其中,存储器中存储有计算机程序;处理器用于在运行计算机程序时执行本技术任一可选实施例中所示的方法。
260.本技术实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,计算机程序在被处理器运行时执行本技术任一可选实施例中所示的方法。
261.在一个可选实施例中,图10中示出了本技术实施例所适用的一种电子设备的结构示意图,如图10中所示,该电子设备4000包括处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本技术实施例的限定。
262.处理器4001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(fieldprogrammable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
263.总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。总线4002可以分为地址总
线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
264.存储器4003可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc readonly memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
265.存储器4003用于存储执行本技术方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
266.应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
267.以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
再多了解一些

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

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

相关文章

  • 日榜
  • 周榜
  • 月榜