声音编解码方法以及相关装置、系统与流程
- 国知局
- 2024-06-21 10:42:21
本技术涉及声音编解码领域,特别涉及基于码激励线性预测(code-excitedlinear prediction,celp)的声音编解码技术。本技术是2022年07月29日提交的专利申请2022109081969 《声音编解码方法以及相关装置、系统》的分案申请。
背景技术:
1、码激励线性预测(celp)技术能够实现良好的质量和比特率折衷,最早由manfredr.schroeder和bishnu s.atal在1985年提出。在celp编码器中,以帧为单位处理输入语音或音频信号(声音信号)。帧进一步被划分成更小的块,该更小的块被称为子帧。编解码器中,激励信号在每个子帧内被确定,包括两种分量:一种是来自过去的激励(也称为自适应码本),另一种是来自代数码本(也称为固定码本或创新码本)。编码侧向解码侧传输的不是原始声音,而是编码参数,例如代数码本的增益、自适应码本的增益,这些编码参数是在重构语音信号声音与原始语音信号之间的误差为最小值时计算出来的。如何降低计算复杂度是本领域的一个研究热点。
技术实现思路
1、本技术的各种实施例提供了一种声音编解码方法,能够降低计算码本增益的复杂度。
2、第一方面,提供了一种编码声音信号的方法,应用于当前帧中的第一子帧,该方法可包括:接收当前帧的帧分类参数索引,根据当前帧的帧分类参数索引在第一映射表中查找线性域中代数码本增益的线性估计值,其中第一映射表中的每一个条目包括两个值:帧分类参数索引和线性域中代数码本增益的线性估计值。计算来自代数码本的代数码本矢量的能量,将线性域中代数码本增益的线性估计值除以代数码本矢量的能量的平方根得到代数码本的估计增益,然后将代数码本的估计增益乘以校正因子得到代数码本的量化增益。校正因子来自获胜码本矢量,获胜码本矢量选自增益码本。
3、第一方面提供的方法还可以包括:传输编码参数。该编码参数可包括:当前帧的帧分类参数索引,获胜码本矢量在增益码本中的索引。
4、第二方面,相对于第一方面的编码声音信号的方法,提供了一种解码声音信号的方法,同样应用于当前帧中的第一子帧,该方法可包括:接收编码参数,编码参数可包括:当前帧的帧分类参数索引,获胜码本矢量的索引,基于当前帧的帧分类参数索引在第一映射表中查找线性域中代数码本增益的线性估计值。其中第一映射表中的每一个条目包括两个值:帧分类参数索引和线性域中代数码本增益的线性估计值。并且,计算来自代数码本的代数码本矢量的能量,将线性域中代数码本增益的线性估计值除以代数码本矢量的能量的平方根得到代数码本的估计增益。最后,将代数码本的估计增益乘以校正因子得到代数码本的量化增益,校正因子来自获胜码本矢量,获胜码本矢量是基于获胜码本矢量的索引选自于增益码本。
5、第一方面和第二方面提供的方法至少具有如下有益效果:在编解码计算第一子帧的代数码本的估计增益时,可以完全避免对数log运算和以10为底的指数运算这类复杂度高的运算,显著降低算法复杂度。并且,编解码器可直接查表获得当前帧的参数ct对应的的值,避免编解码器运行时再计算,从而降低了算法复杂度。
6、第三方面,提供了一种编码声音信号的方法,应用于当前帧中的第一子帧,该方法可包括:接收当前帧的帧分类参数索引,根据当前帧的帧分类参数索引在第一映射表中查找对数域中代数码本增益的线性估计值,其中第一映射表中的每一个条目包括两个值:帧分类参数索引和对数域中代数码本增益的线性估计值。并且,将对数域中代数码本增益的线性估计值通过指数运算转换到线性域中得到线性域中代数码本增益的线性估计值,计算来自代数码本的代数码本矢量的能量,将线性域中代数码本增益的线性估计值除以代数码本矢量的能量的平方根,得到代数码本的估计增益。最后,将代数码本的估计增益乘以校正因子得到代数码本的量化增益;校正因子来自获胜码本矢量,获胜码本矢量选自增益码本。
7、第三方面提供的方法还可以包括:传输编码参数,编码参数包括:当前帧的帧分类参数索引,获胜码本矢量在增益码本中的索引。
8、第四方面,相对于第三方面的编码声音信号的方法,提供了一种解码声音信号的方法,同样应用于当前帧中的第一子帧,该方法可包括:接收编码参数;编码参数包括:当前帧的帧类型,第一子帧中的线性估计常数,获胜码本矢量的索引;利用第一子帧中的线性估计常数和当前帧的帧类型进行线性估计,得到对数域中代数码本增益的线性估计值;将对数域中代数码本增益的线性估计值通过指数运算转换到线性域中,得到线性域中代数码本增益的线性估计值;计算来自代数码本的代数码本矢量的能量;将线性域中代数码本增益的线性估计值除以代数码本矢量的能量的平方根,得到代数码本的估计增益;将代数码本的估计增益乘以校正因子得到代数码本的量化增益,校正因子来自获胜码本矢量,获胜码本矢量是基于获胜码本矢量的索引选自于增益码本。
9、第三方面和第四方面提供的方法至少具有如下有益效果:在编解码计算第一子帧的代数码本的估计增益时,可以避免代数码本矢量的能量ec涉及的对数运算和指数运算,降低算法复杂度。并且,编解码器可直接查表获得当前帧的参数ct对应的a0+a1ct的值,可以避免编解码器运行时再计算该值,节约了计算量。
10、第五方面,提供了一种编码声音信号的方法,应用于当前帧中的第一子帧,该方法可包括:利用第一子帧中的线性估计常数和当前帧的帧类型进行线性估计,得到对数域中代数码本增益的线性估计值;将对数域中代数码本增益的线性估计值通过指数运算转换到线性域中,得到线性域中代数码本增益的线性估计值;计算来自代数码本的代数码本矢量的能量;将线性域中代数码本增益的线性估计值除以代数码本矢量的能量的平方根,得到代数码本的估计增益;将代数码本的估计增益乘以校正因子得到代数码本的量化增益;校正因子来自获胜码本矢量,获胜码本矢量选自增益码本。
11、第五方面提供的方法还可以包括:传输编码参数,编码参数包括:当前帧的帧类型,线性估计常数,获胜码本矢量在增益码本中的索引。
12、第六方面,相对于第五方面的编码声音信号的方法,提供了一种解码声音信号的方法,同样应用于当前帧中的第一子帧,该方法可包括:接收编码参数;编码参数包括:当前帧的帧类型,第一子帧中的线性估计常数,获胜码本矢量的索引;利用第一子帧中的线性估计常数和当前帧的帧类型进行线性估计,得到对数域中代数码本增益的线性估计值;将对数域中代数码本增益的线性估计值通过指数运算转换到线性域中,得到线性域中代数码本增益的线性估计值;计算来自代数码本的代数码本矢量的能量;将线性域中代数码本增益的线性估计值除以代数码本矢量的能量的平方根,得到代数码本的估计增益;将代数码本的估计增益乘以校正因子得到代数码本的量化增益,校正因子来自获胜码本矢量,获胜码本矢量是基于获胜码本矢量的索引选自于增益码本。
13、第五方面和第六方面提供的方法至少具有如下有益效果:在编解码计算第一子帧的代数码本的估计增益时,可以避免代数码本矢量的能量ec涉及的对数运算和指数运算,降低算法复杂度。
14、第七方面,提供了一种编码声音信号的方法,应用于当前帧中的第一子帧,该方法可包括:接收当前帧的帧分类参数索引;根据当前帧的帧分类参数索引在第一映射表中查找线性域中代数码本增益的线性估计值;第一映射表中的每一个条目包括两个值:帧分类参数索引和线性域中代数码本增益的线性估计值;计算来自代数码本的代数码本矢量的能量ec,并对能量的平方根进行以10为底的对数运算,再对对数运算后的值取相反数后进行以10为底的指数运算得到将线性域中代数码本增益的线性估计值乘以得到代数码本的估计增益;将代数码本的估计增益乘以校正因子得到代数码本增益的量化增益,校正因子来自获胜码本矢量,获胜码本矢量选自增益码本。
15、第七方面提供的方法还可以包括:传输编码参数,编码参数包括:当前帧的帧分类参数索引,获胜码本矢量在增益码本中的索引。
16、第八方面,相对于第七方面的编码声音信号的方法,提供了一种解码声音信号的方法,同样应用于当前帧中的第一子帧,该方法可包括:接收编码参数;编码参数包括:当前帧的帧分类参数索引,获胜码本矢量的索引;根据当前帧的帧分类参数索引在第一映射表中查找线性域中代数码本增益的线性估计值;第一映射表中的每一个条目包括两个值:帧分类参数索引和线性域中代数码本增益的线性估计值;计算来自代数码本的代数码本矢量的能量ec,并对能量的平方根进行以10为底的对数运算,再对对数运算后的值取相反数后进行以10为底的指数运算得到将线性域中代数码本增益的线性估计值乘以得到代数码本的估计增益;将代数码本的估计增益乘以校正因子得到代数码本增益的量化增益,校正因子来自获胜码本矢量,获胜码本矢量是基于获胜码本矢量的索引选自于增益码本。
17、第七方面和第八方面提供的方法至少具有如下有益效果:编解码器可直接查表获得当前帧的参数ct对应的的值,可以避免代数码本增益的线性估计值涉及的以10为底的指数运算,降低了算法复杂度。
18、以上第一方面至第八方面提供的编解码声音信号的方法,还可以包括:利用代数码本增益的量化增益乘以来自代数码本的代数码本矢量,得到代数码本的激励贡献。并且,利用选自增益码本的获胜码本矢量包括的。最后,将代数码本的激励贡献与自适应码本的激励贡献相加,得到总的激励。总的激励可以通过合成滤波器重构出语音信号。
19、第九方面,提供了一种具有语音编码功能的装置,可用于实现上述第一方面提供的方法,该装置可包括:查找部件,如图6中示出的查表模块601,用于根据当前帧的帧分类参数索引在第一映射表中查找线性域中代数码本增益的线性估计值。其中,第一映射表中的每一个条目包括两个值:帧分类参数索引和线性域中代数码本增益的线性估计值。第一计算器,包括如图6中示出的平方求和器603、平方根计算器604,用于计算来自代数码本的代数码本矢量的能量。第一乘法器,如图6中示出的乘法器602,用于将线性域中代数码本增益的线性估计值乘以代数码本矢量的能量的平方根的倒数,得到代数码本的估计增益。第二乘法器,如图6中示出的乘法器605,用于将代数码本的估计增益乘以获胜码本矢量包括的校正因子,得到代数码本的量化增益;获胜码本矢量选自增益码本。
20、第九方面提供的装置还可以包括:通信部件,通信部件用于传输编码参数,编码参数包括:当前帧的帧分类参数索引,获胜码本矢量在增益码本中的索引。
21、第十方面,提供了一种具有语音解码功能的装置,可用于实现上述第二方面提供的方法,该装置可包括:通信部件,通信部件用于接收编码参数。编码参数包括:当前帧的帧分类参数索引,获胜码本矢量的索引。第一查找部件,如图6中示出的查表模块601,用于基于当前帧的帧分类参数索引在第一映射表中查找线性域中代数码本增益的线性估计值;第一映射表中的每一个条目包括两个值:帧分类参数索引和线性域中代数码本增益的线性估计值。第一计算器,包括如图6中示出的平方求和器603、平方根计算器604,用于计算来自代数码本的代数码本矢量的能量。第一乘法器,如图6中示出的乘法器602,用于将线性域中代数码本增益的线性估计值乘以代数码本矢量的能量的平方根的倒数,得到代数码本的估计增益。第二乘法器,如图6中示出的乘法器605,用于将代数码本的估计增益乘以校正因子得到代数码本的量化增益,校正因子来自获胜码本矢量。第二查找部件,用于基于获胜码本矢量的索引从增益码本查找出获胜码本矢量。
22、第十一方面,提供了一种具有语音编码功能的装置,可用于实现上述第三方面提供的方法,该装置可包括:查找部件,如图7中示出的查表模块701,用于根据当前帧的帧分类参数索引在第一映射表中查找对数域中代数码本增益的线性估计值;第一映射表中的每一个条目包括两个值:帧分类参数索引和对数域中代数码本增益的线性估计值。转换器,如图7中示出的指数计算器702,用于将对数域中代数码本增益的线性估计值通过指数运算转换到线性域中,得到线性域中代数码本增益的线性估计值。第一计算器,包括如图7中示出的平方求和器704、平方根计算器705,用于计算来自代数码本的代数码本矢量的能量。第一乘法器,如图7中示出的乘法器703,用于将线性域中代数码本增益的线性估计值乘以代数码本矢量的能量的平方根的倒数,得到代数码本的估计增益。第二乘法器,如图7中示出的乘法器707,用于将代数码本的估计增益乘以获胜码本矢量包括的校正因子,得到代数码本的量化增益;获胜码本矢量选自增益码本。
23、第十一方面提供的装置还可以包括:通信部件,通信部件用于传输编码参数,编码参数包括:当前帧的帧分类参数索引,获胜码本矢量在增益码本中的索引。
24、第十二方面,提供了一种具有语音解码功能的装置,可用于实现上述第四方面提供的方法,该装置可包括:通信部件,通信部件用于接收编码参数。其中编码参数包括:当前帧的帧分类参数索引,获胜码本矢量的索引。第一查找部件,如图7中示出的查表模块701,用于基于当前帧的帧分类参数索引在第一映射表中查找对数域中代数码本增益的线性估计值;第一映射表中的每一个条目包括两个值:帧分类参数索引和对数域中代数码本增益的线性估计值。转换器,如图7中示出的指数计算器702,用于将对数域中代数码本增益的线性估计值通过指数运算转换到线性域中,得到线性域中代数码本增益的线性估计值。
25、第一计算器,包括如图7中示出的平方求和器704、平方根计算器705,用于计算来自代数码本的代数码本矢量的能量。第一乘法器,如图7中示出的乘法器703,用于将线性域中代数码本增益的线性估计值乘以代数码本矢量的能量的平方根的倒数,得到代数码本的估计增益。第二乘法器,如图7中示出的乘法器707,用于将代数码本的估计增益乘以校正因子得到代数码本的量化增益,校正因子来自获胜码本矢量。第二查找部件,用于基于获胜码本矢量的索引从增益码本查找出获胜码本矢量。
26、第十三方面,提供了一种具有语音编码功能的装置,可用于实现上述第五方面提供的方法,该装置可包括:线性预测部件,如图8中示出的线性估计模块801,用于利用第一子帧中的线性估计常数和当前帧的帧类型进行线性估计,得到对数域中代数码本增益的线性估计值。转换器,如图8中示出的指数计算器802,用于将对数域中代数码本增益的线性估计值通过指数运算转换到线性域中,得到线性域中代数码本增益的线性估计值。第一计算器,包括如图8中示出的平方求和器804、平方根计算器805,用于计算来自代数码本的代数码本矢量的能量。第一乘法器,如图8中示出的乘法器803,用于将线性域中代数码本增益的线性估计值乘以代数码本矢量的能量的平方根的倒数,得到代数码本的估计增益。第二乘法器,如图8中示出的乘法器806,用于将代数码本的估计增益乘以获胜码本矢量包括的校正因子,得到代数码本的量化增益;获胜码本矢量选自增益码本。
27、第十三方面提供的装置还可以包括:通信部件,通信部件用于传输编码参数,编码参数包括:当前帧的帧类型,线性估计常数,获胜码本矢量在增益码本中的索引。
28、第十四方面,提供了一种具有语音解码功能的装置,可用于实现上述第六方面提供的方法,该装置可包括:通信部件,通信部件用于接收编码参数。编码参数包括:当前帧的帧类型,第一子帧中的线性估计常数,获胜码本矢量的索引。线性预测部件,如图8中示出的线性估计模块801,用于利用第一子帧中的线性估计常数和当前帧的帧类型进行线性估计,得到对数域中代数码本增益的线性估计值。转换器,如图8中示出的指数计算器802,用于将对数域中代数码本增益的线性估计值通过指数运算转换到线性域中,得到线性域中代数码本增益的线性估计。第一计算器,包括如图8中示出的平方求和器804、平方根计算器805,用于计算来自代数码本的代数码本矢量的能量。第一乘法器,如图8中示出的乘法器803,用于将线性域中代数码本增益的线性估计值乘以代数码本矢量的能量的平方根的倒数,得到代数码本的估计增益。第二乘法器,如图8中示出的乘法器806,用于将代数码本的估计增益乘以校正因子得到代数码本的量化增益,校正因子来自获胜码本矢量。查找部件,用于基于获胜码本矢量的索引从增益码本查找出获胜码本矢量。
29、第十五方面,提供了一种具有语音编码功能的装置,可用于实现上述第七方面提供的方法,该装置可包括:第一查找部件,如图9中使出的查表模块901,用于根据当前帧的帧分类参数索引在第一映射表中查找线性域中代数码本增益的线性估计值。第一映射表中的每一个条目包括两个值:帧分类参数索引和线性域中代数码本增益的线性估计值。第一计算器,包括如图9中示出的平方求和器903、平方根计算器904,用于计算来自代数码本的代数码本矢量的能量ec。对数运算器,如图9中示出的计算器905,用于对能量的平方根进行以10为底的对数运算。指数运算器,如图9中示出的计算器906,用于对对数运算后的值取相反数后进行以10为底的指数运算得到第一乘法器,如图9中示出的乘法器902,用于将线性域中代数码本增益的线性估计值乘以得到代数码本的估计增益。第二乘法器,如图9中示出的乘法器907,用于将代数码本的估计增益乘以校正因子得到代数码本增益的量化增益,校正因子来自获胜码本矢量,获胜码本矢量选自增益码本。
30、第十五方面提供的装置还可以包括:通信部件,通信部件用于传输编码参数,编码参数包括:当前帧的帧分类参数索引,获胜码本矢量在增益码本中的索引。
31、第十六方面,提供了一种具有语音解码功能的装置,可用于实现上述第八方面提供的方法,该装置可包括:通信部件,用于接收编码参数。编码参数包括:当前帧的帧分类参数索引,获胜码本矢量在增益码本中的索引。第一查找部件,如图9中使出的查表模块901,用于根据当前帧的帧分类参数索引在第一映射表中查找线性域中代数码本增益的线性估计值;第一映射表中的每一个条目包括两个值:帧分类参数索引和线性域中代数码本增益的线性估计值。第一计算器,包括如图9中示出的平方求和器903、平方根计算器904,用于计算来自代数码本的代数码本矢量的能量ec。对数运算器,如图9中示出的计算器905,用于对能量的平方根进行以10为底的对数运算。指数运算器,如图9中示出的计算器906,用于对对数运算后的值取相反数后进行以10为底的指数运算得到第一乘法器,如图9中示出的乘法器902,用于将线性域中代数码本增益的线性估计值乘以得到代数码本的估计增益。第二乘法器,如图9中示出的乘法器907,用于将代数码本的估计增益乘以校正因子得到代数码本增益的量化增益,校正因子来自获胜码本矢量。第二查找部件,用于基于获胜码本矢量的索引从增益码本查找出获胜码本矢量。
32、以上第九方面至第十六方面提供的具有语音编、解码功能的装置,还可以进一步包括:
33、第三乘法器,用于利用代数码本增益的量化增益乘以来自代数码本的代数码本矢量,得到代数码本的激励贡献;
34、第四乘法器,用于利用选自增益码本的获胜码本矢量包括的自适应码本的量化增益乘以来自自适应码本的自适应码本矢量,得到自适应码本的激励贡献;
35、加法器,用于将代数码本的激励贡献与自适应码本的激励贡献相加,得到总的激励。
36、第十七方面,提供了一种语音通信系统,可包括:第一装置、第二装置,其中:第一装置可用于执行上述第一、第三、第五、第七提供的编码声音信号的方法,第二装置可用于执行上述第二、第四、第六、第八提供的编码声音信号的方法。第一装置可以是上述第九、第十一、第十三、第十五提供的具有语音编码功能的装置,第二装置可以是上述第时、第十二、第十四、第十六提供的具有语音解码功能的装置。
本文地址:https://www.jishuxx.com/zhuanli/20240618/21356.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。