掌桥专利:专业的专利平台
掌桥专利
首页

生成RDSS短报文信道语音码本方法、装置、电子设备

文献发布时间:2023-06-19 13:45:04


生成RDSS短报文信道语音码本方法、装置、电子设备

技术领域

本申请实施例涉及通信技术领域,具体而言,本申请涉及一种生成RDSS短报文码本的方法、装置、电子设备及计算机可读存储介质。

背景技术

RDSS(Radio Determination Satellite Service, 卫星无线电测定业务)是目前北斗全球卫星导航系统所采用的一种导航通信技术,该技术在定位功能之外兼具了短报文通信功能。随着北斗全球卫星导航系统的建设和逐步完善,基于卫星通信链路的北斗RDSS短报文服务作为北斗系统的一项特色技术,服务质量和覆盖范围逐步扩大。

RDSS短报文服务分为两个级别,这两个级别的覆盖范围和传输能力均不同,一个是覆盖中国周边以及亚太地区的区域报文,一个是覆盖全球的全球短报文。其中,RDSS短报文的传输方式为按次发射,区域报文的传输能力为每次发射14000比特,全球短报文的传输能力为每次发射560比特。

RDSS短报文的最小发射间隔为1秒,如果采用的语音压缩编码算法速率不超过560bps,就能够让全球短报文也可实时通话,那么意义将非常重大。若想要实现高质量的560bps,必须采用高效的模型以及高效的量化算法,其中,高效的模型可以采用SELP(Sinusoidal Excitation Linear Prediction, 正弦激励线性预测)模型,高效的量化算法可以采用多帧联合矢量量化算法。

由于560bps是一个超低速率,每帧所拥有的比特很少,所以为了弥补比特不够导致的量化损失,可以采用分模式矢量量化,来用码本尺寸(即码本数量)的增大换取量化效果的提升。然而,受限于当前的硬件能力,码本数量不可能无节制的增大,于是,如何用最小的码本数量的增大换取更多的量化效率的提升,甚至接近于最大的量化效率提升,成为当前亟待解决技术问题。

发明内容

本申请实施例的目的旨在至少能解决上述的技术问题,特提出以下技术方案:

一方面,提供了一种生成码本的方法,包括:

获取语音压缩编码量化的清浊音U/V参数的码本、语音编码目标参数,基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字,所述清浊音U/V参数的码本是通过训练多帧联合的清浊音U/V参数的码本得到的,N为2的正整数次幂,M为小于N的正整数,每个码字代表语音编码目标参数的一种模式;

针对M组码字中的每组码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到M个矢量合集;

根据M个矢量合集进行相应的码本训练,得到M个码本。

在一种可能的实现方式中,语音编码目标参数为正弦激励线性预测SELP模型中的线谱对LSP参数、基音周期pitch参数、能量gain参数和前十维谱幅度prototype参数中的至少一种。

在一种可能的实现方式中,当语音编码目标参数是LSP参数和/或gain参数时,预设分组聚类策略为包括起始段、全浊音段、全清音段和结束段共四种分组的分组聚类策略;

当语音编码目标参数是pitch参数和/或prototype参数时,预设分组聚类策略为包括一个浊音帧、两个浊音帧、三个浊音帧和四个浊音帧共四种分组的分组聚类策略。

在一种可能的实现方式中,M的取值为4。

在一种可能的实现方式中,在根据M个矢量合集进行相应的码本训练,得到M个码本之后,还包括:

对M组码字各自的重要程度进行分析,并根据得到的分析结果对重要程度低的L组码字分别对应的码本进行整合处理,最终得到P组码本,L为小于M的正整数,P为小于M的正整数。

在一种可能的实现方式中,在基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字之前,还包括:

针对清浊音U/V参数的码本中的每个码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到对应于语音编码目标参数的N个矢量合集;

基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字,包括:

基于预设分组聚类策略和N个矢量合集,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字。

在一种可能的实现方式中,在根据M个矢量合集进行相应的码本训练,得到M个码本之后,还包括:

利用M个码本对语音编码目标参数进行分模式矢量量化处理。

一方面,提供了一种生成码本的装置,包括:

分组聚类模块,用于用于减少分模式矢量量化的模式数目,获取语音压缩编码量化的清浊音U/V参数的码本、语音编码目标参数的码本,基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字,清浊音U/V参数的码本是通过训练多帧联合的清浊音U/V参数的码本得到的,N为2的正整数次幂,M为小于N的正整数,每个码字代表语音编码目标参数的一种模式;

矢量生成模块,用于针对M组码字中的每组码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到M个矢量合集;

码本生成模块,用于根据M个矢量合集进行相应的码本训练,得到M个码本。

在一种可能的实现方式中,语音编码目标参数为正弦激励线性预测SELP模型中的线谱对LSP参数、基音周期pitch参数、能量gain参数和前十维谱幅度prototype参数中的至少一种。

在一种可能的实现方式中,当语音编码目标参数是LSP参数和/或gain参数时,预设分组聚类策略为包括起始段、全浊音段、全清音段和结束段共四种分组的分组聚类策略;

当语音编码目标参数是pitch参数和/或prototype参数时,预设分组聚类策略为包括一个浊音帧、两个浊音帧、三个浊音帧和四个浊音帧共四种分组的分组聚类策略。

在一种可能的实现方式中,M的取值为4。

在一种可能的实现方式中,装置还包括整合处理模块;

整合处理模块,用于对M组码字各自的重要程度进行分析,并根据得到的分析结果对重要程度低的L组码字分别对应的码本进行整合处理,最终得到P组码本,L为小于M的正整数,P为小于M的正整数。

在一种可能的实现方式中,装置还包括处理模块;

处理模块,用于针对清浊音U/V参数的码本中的每个码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到对应于语音编码目标参数的N个矢量合集;

分组聚类模块具体用于基于预设分组聚类策略和N个矢量合集,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字。

在一种可能的实现方式中,装置还包括量化处理模块;

量化处理模块,用于利用M个码本对语音编码目标参数进行分模式矢量量化处理。

一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述的生成码本的方法。

一方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的生成码本的方法。

本申请实施例提供的生成码本的方法,通过基于预设分组聚类策略,对通过训练多帧联合的清浊音U/V参数的码本得到的包括N个码字的码本进行分组聚类,得到M组码字,从而生成M个矢量合集,进而生成M个码本,这相较原先根据N个码字生成N个码本的全模式矢量量化方式,不仅有效减少了总码本大小(即总码本数量),将码本数量由N个减少为M个,而且能够获得接近于全模式的量化增益,提供了一种使用较小的码本尺寸的增大换取更多的量化效率的提升的可行解决方案。

应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本申请实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请实施例上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为本申请实施例的生成码本的方法的流程示意图;

图2为本申请实施例的生成码本的的整体架构示意图;

图3为本申请实施例的生成码本的装置的基本结构示意图;

图4为本申请实施例的电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为了更好的理解及说明本申请实施例的方案,下面对本申请实施例中所涉及到的一些技术用语进行简单说明。

多帧联合矢量量化:是将多帧的参数组成一个矢量,然后通过训练得到一个码本,通过将当前矢量和码本中的矢量逐一比对,从码本中找到一个与当前矢量差别最小的矢量(即目标矢量)作为代表,并将该目标矢量在码本中的索引用比特表示,传输到接收端;接收端根据该索引从码本中取出该目标矢量,并用该目标矢量进行合成。其中,码本越大,码本中的矢量越多,从而矢量量化的误差越小、量化效果越好,相应的用于表示索引的比特也就越多,编码速率也就越高。

分模式矢量量化:就是将当前参数分成很多不同的情况,也就是不同的模式,每个模式的码本都是一样大的,这样码本就大了很多倍,利于从码本中找出与当前矢量更接近的矢量(即目标矢量),从而获得更好的量化效果,而传输所用的比特并没有增加,还是和原来一样;但是,接收端必须有相应的模式信息。通常是通过一个参数来对另一个参数分模式。

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

RDSS短报文中所用的560bps语音压缩算法是一个超低速率,每帧所拥有的比特很少,为了弥补比特不够造成的量化损失,可以采用分模式矢量量化。分模式矢量量化是利用码本尺寸的增大来换取量化效果的提升,在分模式矢量量化中,最大的量化效率的提升就是全模式矢量量化,即每个模式都单独训练生成一个码本,这样量化效率提升最大。然而受硬件能力的限制,码本尺寸(即码本数量)不可能无节制的增大,关键问题就是如何利用最小的码本尺寸的增大来换取更多的量化效率的提升,甚至接近于最大的量化效率提升。本发明的目的就是解决如何利用最小的码本尺寸的增加,来换取接近于最大的量化效率的提升。

下面以具体地实施例对本申请实施例的技术方案以及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

本申请一个实施例提供了一种生成码本的方法,该方法由计算机设备执行,该计算机设备可以是终端或者服务器。终端可以是台式设备或者移动终端。服务器可以是独立的物理服务器、物理服务器集群或者虚拟服务器。如图1所示,该方法包括:

步骤S110,获取语音压缩编码量化的清浊音U/V参数的码本、语音编码目标参数的码本,基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字,清浊音U/V参数的码本是通过训练多帧联合的清浊音U/V参数的码本得到的,N为2的正整数次幂,M为小于N的正整数,每个码字代表语音编码目标参数的一种模式。

SELP模型区别于波形编码,属于参数编码,需要提取五个频域参数进行量化编码传输。五个频域参数分别是表示谱包络的线谱对(Linear Spectrum Pair, LSP)参数、表示当前帧是清音还是浊音的清浊音(Unvoiced/Voiced, U/V)参数、表示基频的基音周期(pitch)参数、能量(gain)参数和前十维谱幅度(prototype)参数。当前语音帧是清音帧还是浊音帧,对应的参数是有变化的,比如清音帧没有pitch参数和prototype参数,又比如无论是清音帧还是浊音帧均有LSP参数和gain参数,因此,利用U/V的模式对其他四个参数进行分模式是非常合适的,也就是先训练清浊音U/V参数的码本,清浊音U/V参数的码本中有多少个码字(即矢量),其他四个参数就有多少个模式。

在一个示例中,可以在基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类之前,预先通过训练多帧联合的清浊音U/V参数的码本得到包括N个码字(即N个矢量)的清浊音U/V参数的码本,其中,N是2的正整数次幂,即N是2的幂次方,比如N为2的2次幂(即N=4),又比如N为2的3次幂(即N=8),再比如N为2的4次幂(即N=16)等等。清浊音U/V参数的码本中的一个码字(即矢量)就代表了语音编码目标参数的一种模式,例如码字“0011”代表前两个语音帧是清音帧、后两个语音帧是浊音帧的模式。

在一个示例中,在训练多帧联合的清浊音U/V参数的码本的过程中,可以先利用训练语音库生成用于训练清浊音U/V参数的码本的矢量合集,再利用该矢量合集训练多帧联合的清浊音U/V参数的码本,最终得到包括N个码字(即N个矢量)的清浊音U/V参数的码本。

为了实现利用最小的码本尺寸的增加,来换取接近于最大的量化效率的提升,本申请一个实施例通过基于预设分组聚类策略,对包括N个码字的清浊音U/V参数的码本进行分组聚类,比如将N个码字中的某4个码字分组聚类为一组码字,又比如将N个码字中的某6个码字分组聚类为一组码字,再比如将N个码字中的某10个码字分组聚类为一组码字等等,当然也可以是其他可能的分组聚类方式,本申请实施例不对其作限制。通过对N个码字进行分组聚类最终得到M组码字,在一个示例中,可以将上述的M组码字分别记作C1、C2、C3、......、CM,从而将码本的码字数量由N降低为M,为后续生成M个码本提供奠定必要基础。

步骤S120,针对M组码字中的每组码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到M个矢量合集。

在一个示例中,可以利用训练语音库,针对M组码字中的每组码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到M个矢量合集。以上述的M组码字分别为C1、C2、C3、......、CM为例,可以利用训练语音库,针对第一组码字C1生成对应于语音编码目标参数的一个矢量合集(记作V1),针对第二组码字C2生成对应于语音编码目标参数的一个矢量合集(记作V2),......,依次类推,针对第M组码字CM生成对应于语音编码目标参数的一个矢量合集(记作VM),共得到M个矢量合集,即V1、V2、......、VM。

步骤S130,根据M个矢量合集进行相应的码本训练,得到M个码本。

在得到M个矢量合集后,可以利用得到的M个矢量合集训练M个码本,即利用得到的M个矢量合集进行相应的码本训练,得到M个码本。其中,在利用得到的M个矢量合集进行相应的码本训练的过程中,每个矢量合集可以训练得到一个码本,以上述的M个矢量合集分别为V1、V2、......、VM为例,利用矢量合集V1进行相应的码本训练可以得到一个码本(记作B1),利用矢量合集V2进行相应的码本训练可以得到一个码本(记作B2),......,依次类推,利用矢量合集VM进行相应的码本训练可以得到一个码本(记作BM),即共得到M个码本,分别为B1、B2、......、BM。其中,该M个码本(即B1、B2、......、BM)是用于后续对上述的语音编码目标参数进行分模式矢量量化处理的。

通过对清浊音U/V参数的码本中的N个码字进行分组聚类,将原本需要根据N个码字生成N个码本,更新为根据分组聚类后的M组码字生成M个码本,从而将码本总大小由N个码本变为M个码本,有效降低总码本大小。

本申请实施例提供的生成码本的方法,通过基于预设分组聚类策略,对通过训练多帧联合的清浊音U/V参数的码本得到的包括N个码字的码本进行分组聚类,得到M组码字,从而生成M个矢量合集,进而生成M个码本,这相较原先根据N个码字生成N个码本的全模式矢量量化方式,不仅有效减少了总码本大小,将码本数量由N个减少为M个,而且能够获得接近于全模式的量化增益,提供了一种使用较小的码本尺寸的增大换取更多的量化效率的提升的可行解决方案。

在一种可能的实现方式中,语音编码目标参数为正弦激励线性预测SELP模型中的线谱对LSP参数、基音周期pitch参数、能量gain参数和前十维谱幅度prototype参数中的至少一种。

由于SELP模型除了具有U/V参数外,还具有LSP参数、pitch参数、gain参数和prototype参数,所以上述的语音编码目标参数可以是LSP参数、pitch参数、gain参数和prototype参数中的至少一种。在一个示例中,语音编码目标参数可以是LSP参数,也可以是pitch参数,也可以是gain参数,也可以prototype参数。在又一个示例中,包括但不限于语音编码目标参数可以是LSP参数和pitch参数,也可以LSP参数和gain参数,也可以是LSP参数和prototype参数,也可以是pitch参数和gain参数,也可以是gain参数和prototype参数等等,在此不再一一列举。在另一个示例中,包括但不限于语音编码目标参数可以是LSP参数、pitch参数和gain参数,也可以是pitch参数、gain参数和prototype参数,还可以是LSP参数、pitch参数和prototype参数等等,在此不再一一列举。在另一个示例中,语音编码目标参数可以是LSP参数、pitch参数、gain参数和prototype参数。

需要说明的是:

第一,当语音编码目标参数是LSP参数或pitch参数或gain参数或prototype参数时,基于预设分组聚类策略得到的M组码字中的每个码字代表LSP参数或pitch参数或gain参数或prototype参数的一种模式。接着,针对M组码字中的每组码字,分别生成对应于LSP参数或pitch参数或gain参数或prototype参数的一个矢量合集,共得到M个矢量合集。接着,根据M个矢量合集进行相应的码本训练,得到对应于LSP参数或pitch参数或gain参数或prototype参数的M个码本。

第二,当语音编码目标参数是LSP参数和pitch参数时,基于预设分组聚类策略得到的M组码字中的每个码字代表LSP参数的一种模式,同时,M组码字中的每个码字也代表pitch参数的一种模式。接着,针对M组码字中的每组码字,分别生成对应于LSP参数一个矢量合集,共得到M个矢量合集;同时,针对M组码字中的每组码字,分别生成对应于pitch参数一个矢量合集,共得到M个矢量合集。接着,根据M个矢量合集进行相应的码本训练,得到对应于LSP参数的M个码本;同时,根据M个矢量合集进行相应的码本训练,得到对应于pitch参数的M个码本。对于语音编码目标参数是LSP参数和pitch参数,或者是LSP参数和gain参数,或者是LSP参数和prototype参数,或者是pitch参数和gain参数,或者是gain参数和prototype参数等两两组合的情况,与上述的语音编码目标参数是LSP参数和pitch参数的生成码本的情况类似,在此不再赘述。

第三,当语音编码目标参数是LSP参数、pitch参数和gain参数时,基于预设分组聚类策略得到的M组码字中的每个码字代表LSP参数的一种模式,同时,M组码字中的每个码字也代表pitch参数的一种模式,同时,M组码字中的每个码字也代表gain参数的一种模式。接着,针对M组码字中的每组码字,分别生成对应于LSP参数一个矢量合集,共得到M个矢量合集;同时,针对M组码字中的每组码字,分别生成对应于pitch参数一个矢量合集,共得到M个矢量合集;同时,针对M组码字中的每组码字,分别生成对应于gain参数一个矢量合集,共得到M个矢量合集。接着,根据M个矢量合集进行相应的码本训练,得到对应于LSP参数的M个码本;同时,根据M个矢量合集进行相应的码本训练,得到对应于pitch参数的M个码本;同时,根据M个矢量合集进行相应的码本训练,得到对应于gain参数的M个码本。对于语音编码目标参数是LSP参数、pitch参数、gain参数和prototype参数的其他三三组合的形式的情况,与上述的语音编码目标参数是LSP参数、pitch参数和gain参数的生成码本的情况类似,在此不再赘述。

第四,当语音编码目标参数是LSP参数、pitch参数、gain参数和prototype参数时,其生成码本的过程与上述的语音编码目标参数是LSP参数、pitch参数和gain参数的生成码本的情况类似,在此不再赘述。

在一种可能的实现方式中,当语音编码目标参数是LSP参数和/或gain参数时,预设分组聚类策略为包括起始段、全浊音段、全清音段和结束段共四种分组的分组聚类策略;当语音编码目标参数是pitch参数和/或prototype参数时,预设分组聚类策略为包括一个浊音帧、两个浊音帧、三个浊音帧和四个浊音帧共四种分组的分组聚类策略。

在一种可能的实现方式中,M的取值为4。

在SELP模型中,LSP参数和gain参数属于同一类别,两者通常采用相同的分模式量化方案,pitch参数和prototype参数属于同一类别,两者通常采用相同的分模式量化方案。

在实际应用中,对于LSP参数和gain参数,根据语音的特征,可以采用起始段、全浊音段、全清音段和结束段的分组聚类策略,即对于LSP参数和gain参数,根据语音的特性进行分组聚类时,可以分组聚类为起始段、全浊音段、全清音段和结束段共4种(即4组),即M的取值为4,从而将原先的清浊音U/V参数的码本中的N个码字减少为4个码字,将原本需要根据N个码字生成N个矢量合集,减少为根据分组聚类后的4组码字生成4个矢量合集,进而将原本需要根据N个矢量合集生成N个码本,减少为根据4个矢量合集生成4个码本,极大降低了总码本大小。

在实际应用中,对于pitch参数和prototype参数,根据语音的特征,可以采用一个浊音帧、两个浊音帧、三个浊音帧和四个浊音帧的分组聚类策略,即对于pitch参数和prototype参数,根据语音的特性进行分组聚类时,可以分组聚类为一个浊音帧、两个浊音帧、三个浊音帧和四个浊音帧共4种(即4组),即M的取值为4,与上述的LSP参数和gain参数类似,最终也实现了将原本需要根据N个矢量合集生成N个码本,减少为根据4个矢量合集生成4个码本,极大了降低总码本大小。

以LSP参数为例,根据语音的特性进行分组聚类,可以分组聚类为起始段、全浊音段、全清音段和结束段共4种情况;比如0011模式(模式即码字)和0111模式,都属于起始段,在由清音过渡到浊音的过程,可以将0011模式和0111模式分组聚类为一个模式;又比如0000模式和0010模式,虽然0010模式有一个浊音帧,但前后都是清音帧,这个浊音帧大概率并不是语音而是误判,所以可以将0000模式和0010模式分组聚类到全清音段这一模式,经过这种分组聚类处理,模式数量最终由N个变为4个。对于4组码字中的每组码字,分别生成对应于LSP参数的一个矢量合集,共得到4个矢量合集,接着,根据该4个矢量合集进行相应的码本训练,得到4个码本,即总码本大小由原先的N个减少为4个。

以pitch参数为例,根据语音的特性进行分组聚类,可以分组聚类为一个浊音帧、两个浊音帧、三个浊音帧和全浊音帧(560bps最多4个语音帧,即四个浊音帧)共4种情况,比如0001模式和1000模式,虽然一个是起始、一个是结束,但是0001模式和1000模式都是只有一个浊音帧,对于pitch参数来说,就可以将0001模式和1000模式分组聚类为一个模式,经过这种分组聚类处理,模式数量最终由N个变为4个。对于4组码字中的每组码字,分别生成对应于pitch参数的一个矢量合集,共得到4个矢量合集,接着,根据该4个矢量合集进行相应的码本训练,得到4个码本,即总码本大小由原先的N个减少为4个。

在一种可能的实现方式中,在根据M个矢量合集进行相应的码本训练,得到M个码本之后,还包括:对M组码字各自的重要程度进行分析,并根据得到的分析结果对重要程度低的L组码字分别对应的码本进行整合处理,最终得到P组码本,L为小于M的正整数,P为小于M的正整数。

本申请实施例中的整合处理包括但不限于缩小或减少比特分配、码本删除、码本合并、码本替换等处理方式。

在一个示例中,可以对M组码字各自的重要程度进行分析,得到M组码字各自的重要程度的分析结果后,可以根据分析结果对M组码字进行排序,即对M组码字的重要性进行分析排序。对于不重要的一组码字,比如,对于重要程度最低的一组码字,可以减少适量的比特分配,例如每一级减少1个比特;又比如,对于重要程度最低的一组码字,可以利用替换为其他组码字,即利用其他组码字替换该组不重要的码字。对于重要程度比较低的L组码字,L可以是1、2等于M的数字,其处理方式与上述的对于不重要的一组码字的处理方式类似,在此不再赘述。

以LSP参数为例,在对M组码字的重要性进行分析排序后,对不重要的分组聚类结果,即重要程度低的L组码字(码字即模式),比如全清音段,减少适量的比特分配,比如每一级减少1个比特,甚至可以用全浊音段的码本来替代全清音段的码本,对于不重要的模式(即分组聚类后的重要程度低的L组码字)来说,不仅可以进一步降低总码本的大小,而且对量化效果影响较小。

以pitch参数为例,在对M组码字的重要性进行分析排序后,对于一个浊音帧的模式(即一个浊音帧的分组聚类结果,也即一个浊音帧这一组的码字),比如0001模式,完全没必要进行矢量量化,只进行标量量化即可,从而可以减少一个模式的码本,又比如,对于小于4个浊音帧的模式(即1个浊音帧的模式、2个浊音帧的模式和3个浊音帧的模式),可以采取减少比特分配的策略,比如每一级减少1个比特,甚至用4个浊音帧的码本来替代小于4个浊音帧的模式(即1个浊音帧的模式、2个浊音帧的模式和3个浊音帧的模式)所对应的码本,例如利用1111模式的码本来量化0111模式,由于清音帧没有pitch参数,所以0111模式的第一帧的pitch参数随便填一个数值即可,然后利用1111模式的码本来量化0111模式,不仅量化精度几乎不受影响,还可以进一步降低总码本大小。

在一种可能的实现方式中,在基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字之前,还包括:针对清浊音U/V参数的码本中的每个码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到对应于语音编码目标参数的N个矢量合集;基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字,包括:基于预设分组聚类策略和N个矢量合集,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字。

在一个示例中,在基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类之前,可以先针对清浊音U/V参数的码本中的每个码字,均生成对应于语音编码目标参数(例如LSP参数或pitch参数)的一个矢量合集,即每个码字生成语音编码目标参数(例如LSP参数、pitch参数等)的一个矢量合集,共得到语音编码目标参数(例如LSP参数或pitch参数)的N个矢量合集;接着,利用每一个矢量合集训练生成一个码本,共生成N个码本。经过上述处理,最终可以得到N个矢量合集和N个码本,后续可以利用该N个码本对语音编码目标参数(例如LSP参数或pitch参数)进行分模式矢量量化处理,得到量化效果的最大提升。

在得到语音编码目标参数(例如LSP参数或pitch参数)的N个矢量合集后,可以基于预设分组聚类策略和该N个矢量合集,对清浊音U/V参数的码本包括的N个码字进行分组聚类,使得每组中各个模式的语音编码目标参数(例如LSP参数或pitch参数)的矢量合集的分布尽可能一致,利于后续一起进行相应的码本训练来生成码本。即,在对清浊音U/V参数的码本包括的N个码字进行分组聚类的过程中,不仅需要考虑采用合理的分组聚类策略,还需要考虑清浊音U/V参数的码本包括的N个码字各自对应于语音编码目标参数(例如LSP参数或pitch参数)的矢量合集。

在一种可能的实现方式中,在根据M个矢量合集进行相应的码本训练,得到M个码本之后,还包括:利用M个码本对语音编码目标参数进行分模式矢量量化处理。

在一个示例中,在得到M个码本之后,可以利用该M个码本对语音编码目标参数(例如LSP参数、pitch参数、gain参数和prototype参数中的至少一种)进行分模式矢量量化处理,从而获得接近于全模式的量化增益。

在实际应用中经过实测发现,采用本申请实施例所示的方案,总码本大小能够有效减少,由原来的N个码本减少为4个码本,甚至减少为3个码本或2个码本或1个码本,量化效果与采用N个码本的量化效果基本相同。

下面通过具体示例对本申请实施例的方法进行介绍。

示例一:

由于LSP参数和gain参数属于一个类别,故LSP参数和gain参数采用相同的分模式量化方案,下面以LSP参数为例,对本申请实施例的方案进行具体说明:

步骤1、训练多帧联合的清浊音U/V参数的码本,得到包含N个码字(即矢量)的清浊音U/V参数的码本(N是2的幂次方,一般取16)。其中,一个码字(即矢量)代表LSP参数的一种模式,比如码字“0011”代表前两个语音帧是清音、后两个语音帧是浊音的模式。

步骤2、针对清浊音U/V参数的码本中的每个模式(即码字),都输出LSP参数的一个矢量合集,并对应训练生成一个码本,这样最终可以得到N个矢量合集和N个码本,后续可以利用该N个码本对LSP参数进行分模式矢量量化处理,从而得到量化效果的最大提升。

步骤3、对清浊音U/V参数的码本的N个模式(即码字)进行分组聚类,使得每组聚类结果中LSP参数的各个模式的矢量合集的分布尽可能一致,利于训练生成相应的码本。对于LSP参数,根据语音的特征,可以采用起始段、全浊音段、全清音段和结束段的分组聚类策略,即对于LSP参数,根据语音的特性进行分组聚类时,可以分组聚类为起始段、全浊音段、全清音段和结束段共4种(即4组),即M的取值为4。比如,比如0011模式(模式即码字)和0111模式,都属于起始段,在由清音过渡到浊音的过程,可以将0011模式和0111模式分组聚类为一个模式;又比如0000模式和0010模式,虽然0010模式有一个浊音帧,但前后都是清音帧,这个浊音帧大概率并不是语音而是误判,所以可以将0000模式和0010模式分组聚类到全清音段这一模式,经过这种分组聚类处理,模式数量最终由N个变为4个。

步骤4、模式数量由N个变为4个后,重新生成LSP 参数的每个模式的矢量合集,共得到4个矢量合集,接着,利用该4个矢量合集进行相应的码本训练,得到4个码本,即总码本大小由原先的N个减少为4个。

步骤5、对4个模式的重要性进行分析排序,对不重要的聚类模式(即不重要的分组聚类结果),比如全清音段,减少适量的比特分配,比如每一级减少1个比特,甚至可以用全浊音段的码本来替代全清音段的码本,对于不重要的模式(比如分组聚类后的重要程度低的L组码字)来说,不仅可以进一步降低总码本的大小,而且对量化效果影响较小。

采用以上方案,经过实测,LSP参数的总码本大小能够有效减少,由原先的N个码本减少为4个码本,甚至减少为3个码本,但是量化效果与采用N个码本的量化效果基本相同。

需要说明的是,本申请实施例中针对gain参数的处理过程与针对LSP参数的处理过程类似,在此不再赘述。

示例二:

pitch参数和prototype参数属于同一类别,故采用相同的分模式矢量量化方案,下面以pitch参数为例,对本申请实施例的方案进行具体说明:

步骤1、训练多帧联合的清浊音U/V参数的码本,得到包含N个码字(即矢量)的清浊音U/V参数的码本(N是2的幂次方,一般取16)。其中,一个码字(即矢量)代表pitch参数的一种模式,比如码字“0011”代表前两个语音帧是清音、后两个语音帧是浊音的模式。

步骤2、针对清浊音U/V参数的码本中的每个模式(即码字),都输出pitch参数的一个矢量合集,并对应训练生成一个码本,这样最终可以得到N个矢量合集和N个码本,后续可以利用该N个码本对pitch参数进行分模式矢量量化处理,从而得到量化效果的最大提升。

步骤3、对清浊音U/V参数的码本的N个模式(即码字)进行分组聚类,使得每组聚类结果中pitch参数的各个模式的矢量合集的分布尽可能一致,利于训练生成相应的码本。对于pitch参数,根据语音的特性进行分组聚类,可以分组聚类为一个浊音帧、两个浊音帧、三个浊音帧和全浊音帧(560bps最多4个语音帧,即四个浊音帧)共4种情况,比如0001模式和1000模式,虽然一个是起始、一个是结束,但是0001模式和1000模式都是只有一个浊音帧,对于pitch参数来说,就可以将0001模式和1000模式分组聚类为一个模式,经过这种分组聚类处理,模式数量最终由N个变为4个。

步骤4、模式数量由N个变为4个后,重新生成pitch 参数的每个模式的矢量合集,共得到4个矢量合集,接着,利用该4个矢量合集进行相应的码本训练,得到4个码本,即总码本大小由原先的N个减少为4个。

步骤5、对4个模式的重要性进行分析排序,对不重要的聚类模式(即不重要的分组聚类结果),例如对于一个浊音帧的模式(即一个浊音帧的分组聚类结果,也即一个浊音帧这一组的码字),比如0001模式,完全没必要进行矢量量化,只进行标量量化即可,从而可以减少一个模式的码本,又比如,对于小于4个浊音帧的模式(即1个浊音帧的模式、2个浊音帧的模式和3个浊音帧的模式),可以采取减少比特分配的策略,比如每一级减少1个比特,甚至用4个浊音帧的码本来替代小于4个浊音帧的模式(即1个浊音帧的模式、2个浊音帧的模式和3个浊音帧的模式)所对应的码本,例如利用1111模式的码本来量化0111模式,由于清音帧没有pitch参数,所以0111模式的第一帧的pitch参数随便填一个数值即可,然后利用1111模式的码本来量化0111模式,不仅量化精度几乎不受影响,还可以进一步降低总码本大小。

采用以上方案,经过实测,pitch参数的总码本大小能够有效减少,由原先的N个码本减少为4个码本,甚至减少为2个码本或减少为1个码本,但是量化效果与采用N个码本的量化效果基本相同。

需要说明的是,本申请实施例中针对prototype参数参数的处理过程与针对pitch参数的处理过程类似,在此不再赘述。

其中,图2示出了采用本申请实施例的方法针对LSP参数、gain参数、pitch参数和prototype参数,尽可能减少其分别对应的码本尺寸(即码本数量)的处理过程。根据图2可以看出,对于LSP参数与gain参数各自的总码本大小(即总码本数量)能够由原先的N个码本减少为4个码本,甚至减少为3个码本;对于pitch参数和prototype参数各自的总码本大小能够由原先的N个码本减少为4个码本,甚至减少为2个码本或减少为1个码本。

需要说明的是,图2中的“模式分组聚类”即为上述示例一或示例二中的步骤3,图2中的“重新产生聚类矢量”即为上述示例一或示例二中的步骤4,图2中的“模式重要性排序”即为上述示例一或示例二中的步骤5,图2中的“3+1小”代表3个正常码本和1个减少比特分配后的码本(可以称作小码本)。

图3为本申请又一实施例提供的一种生成码本的装置的结构示意图,如图3所示,该装置300可以包括分组聚类模块301、矢量生成模块302和码本生成模块303,其中:

分组聚类模块301,用于用于减少分模式矢量量化的模式数目,获取语音压缩编码量化的清浊音U/V参数的码本、语音编码目标参数的码本,基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字,清浊音U/V参数的码本是通过训练多帧联合的清浊音U/V参数的码本得到的,N为2的正整数次幂,M为小于N的正整数,每个码字代表语音编码目标参数的一种模式;

矢量生成模块302,用于针对M组码字中的每组码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到M个矢量合集;

码本生成模块301,用于根据M个矢量合集进行相应的码本训练,得到M个码本。

在一种可能的实现方式中,语音编码目标参数为正弦激励线性预测SELP模型中的线谱对LSP参数、基音周期pitch参数、能量gain参数和前十维谱幅度prototype参数中的至少一种。

在一种可能的实现方式中,当语音编码目标参数是LSP参数和/或gain参数时,预设分组聚类策略为包括起始段、全浊音段、全清音段和结束段共四种分组的分组聚类策略;

当语音编码目标参数是pitch参数和/或prototype参数时,预设分组聚类策略为包括一个浊音帧、两个浊音帧、三个浊音帧和四个浊音帧共四种分组的分组聚类策略。

在一种可能的实现方式中,M的取值为4。

在一种可能的实现方式中,装置还包括整合处理模块;

整合处理模块,用于对M组码字各自的重要程度进行分析,并根据得到的分析结果对重要程度低的L组码字分别对应的码本进行整合处理,最终得到P组码本,L为小于M的正整数,P为小于M的正整数。

在一种可能的实现方式中,装置还包括处理模块;

处理模块,用于针对清浊音U/V参数的码本中的每个码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到对应于语音编码目标参数的N个矢量合集;

分组聚类模块具体用于用于减少分模式矢量量化的模式数目,获取语音压缩编码量化的清浊音U/V参数的码本、语音编码目标参数的码本,基于预设分组聚类策略和N个矢量合集,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字。

在一种可能的实现方式中,装置还包括量化处理模块;

量化处理模块,用于利用M个码本对语音编码目标参数进行分模式矢量量化处理。

本申请实施例提供的装置,通过获取语音压缩编码量化的清浊音U/V参数的码本、语音编码目标参数的码本,基于预设分组聚类策略,对通过训练多帧联合的清浊音U/V参数的码本得到的包括N个码字的码本进行分组聚类,得到M组码字,从而生成M个矢量合集,进而生成M个码本,这相较原先根据N个码字生成N个码本的全模式矢量量化方式,不仅有效减少了总码本大小,将码本数量由N个减少为M个,而且能够获得接近于全模式的量化增益,提供了一种使用较小的码本尺寸的增大换取更多的量化效率的提升的可行解决方案。

需要说明的是,本实施例为与上述的方法项实施例相对应的装置项实施例,本实施例可与上述方法项实施例互相配合实施。上述方法项实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法项实施例中。

本申请另一实施例提供了一种电子设备,如图4所示,图4所示的电子设备400包括:处理器401和存储器403。其中,处理器401和存储器403相连,如通过总线402相连。进一步地,电子设备400还可以包括收发器404。需要说明的是,实际应用中收发器404不限于一个,该电子设备400的结构并不构成对本申请实施例的限定。

其中,处理器401应用于本申请实施例中,用于实现图3所示的接收模块及处理模块的功能。收发器404包括接收机和发射机。

处理器401可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器401也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线402可包括一通路,在上述组件之间传送信息。总线402可以是PCI总线或EISA总线等。总线402可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器403可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器403用于存储执行本申请方案的应用程序代码,并由处理器401来控制执行。处理器401用于执行存储器403中存储的应用程序代码,以实现图3所示实施例提供的测试装置的动作。

本申请实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,可实现:获取语音压缩编码量化的清浊音U/V参数的码本、语音编码目标参数的码本,基于预设分组聚类策略,对清浊音U/V参数的码本包括的N个码字进行分组聚类,得到M组码字,清浊音U/V参数的码本是通过训练多帧联合的清浊音U/V参数的码本得到的,N为2的正整数次幂,M为小于N的正整数,每个码字代表语音编码目标参数的一种模式;针对M组码字中的每组码字,分别生成对应于语音编码目标参数的一个矢量合集,共得到M个矢量合集;根据M个矢量合集进行相应的码本训练,得到M个码本。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例所示的方法。该计算机可读存储介质存储的计算机程度,通过获取语音压缩编码量化的清浊音U/V参数的码本、语音编码目标参数的码本,基于预设分组聚类策略,对通过训练多帧联合的清浊音U/V参数的码本得到的包括N个码字的码本进行分组聚类,得到M组码字,从而生成M个矢量合集,进而生成M个码本,这相较原先根据N个码字生成N个码本的全模式矢量量化方式,不仅有效减少了总码本大小,将码本数量由N个减少为M个,而且能够获得接近于全模式的量化增益,提供了一种使用较小的码本尺寸的增大换取更多的量化效率的提升的可行解决方案。

本申请实施例提供的计算机可读存储介质适用于上述方法的任一实施例。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

技术分类

06120113790554