语音数据的编码方法和系统的制作方法_2

文档序号:9616942阅读:来源:国知局
语音特征矢量并发送给分析服务 器,由分析服务器采用基于距离的聚类算法对其进行计算,获得新的编解码参数,将其作为 编码参数发送给通信终端、作为解码参数发送给对端通信终端;通信终端将该通信终端中 编码器的编码参数更新为新的编解码参数,对端通信终端将该对端通信终端中解码器的解 码参数更新为新的编解码参数。这样,通信终端中编码器在随后便可以利用更新后的编码 参数对通信终端采集的语音数据进行编码,并通过通信网络向对端通信终端传输编码得到 的语音码流数据,由对端通信终端中解码器利用更新后的解码参数对通信终端传输的采集 的语音码流数据进行解码。与现有技术相比,本发明实施例基于通信终端当前采集的语音 数据的语音特征矢量来计算匹配的个性化的编码参数,使得编码参数更符合当前用户、当 前使用语言个性化的语音特征,例如,特定说话用户的发声模型,利用该个性化的编码参数 替代编码器中的原编码参数,实现了编码参数的优化,利用优化的编码参数对语音数据进 行编码,可以减少矢量量化造成的误差,从而提高编码效率和语音质量,可以提高用户体 验;并且由网络侧的分析服务器来计算匹配的个性化的编码参数,不会增加终端侧编码器 的实现复杂度,不会增加编码器和解码器的存储量和计算量,且并不需要修改语音编码算 法本身,不需要对通信终端的编解码器进行改造。
[0045]其中,图1所示的实施例中,通信终端包括建立语音通话的两个通信终端中的一 个或另一个,即:建立语音通话的两个通信终端中的每一个都作为图1所示实施例中的通 信终端,执行图1所示实施例的流程,从而实现对双方通信终端中编、解码参数的优化,使 得每一个通信终端都采用符合自身语音特征的编码参数进行编码,同时采用符合对端语音 特征的解码参数进行解码。
[0046]图2为本发明语音数据的编码方法一个实施例的流程图。该实施例以双方通信终 端通过执行会话发起协议(SIP)的呼叫过程建立语音通话为例进行说明,其语音通信系统 的一个示例性架构如图3所示。如图2所示,该实施例语音数据的编码方法包括:
[0047]210,通信终端在与对端通信终端进行语音通话的过程中,通过麦克风采集语音数 据,并采用编码器中的原始编码参数对采集的语音数据进行编码,通过IP网络向对端通信 终端传输语音码流数据。
[0048]220,通信终端从采集的语音数据中,每隔第一预设时间tl提取一组语音特征矢 量发送给分析服务器,同时向分析服务器发送该通信终端用户和对端通信终端用户的个人 帐号信息。
[0049]230,分析服务器将通信终端发送的语音特征矢量存储在通信终端用户的数据库 表中。
[0050]其中,分析服务器可以基于每个用户的个人帐号,在其数据库中为每个用户建立 一个数据库表,个人帐号可以是用户的通信帐号(例如SIP地址)或者电话号码等。
[0051]240,分析服务器每隔第二预设时间t2,采用基于距离的聚类算法,对通信终端用 户的数据库表中在最近一个t2存储的N个语音特征矢量进行计算,获得新的编解码参数。
[0052] 其中,N为预设正整数。t2的取值可以大于tl,避免频繁更新编解码参数占用较 多的网络带宽,从而影响用于语音通话的带宽。
[0053] 分析服务器获得新的编解码参数后,可以删除部分或全部通信终端用户的数据库 表中的语音特征矢量,以释放存储空间。
[0054] 250,分析服务器根据通信终端用户和对端通信终端用户的个人帐号信息,将新的 编解码参数作为编码参数发送给通信终端,并将该新的编解码参数作为解码参数发送给对 端通信终端。
[0055] 260,通信终端将该通信终端中编码器的编码参数更新为新的编解码参数(即:将 该通信终端中编码器的编码参数替换为新的编解码参数),对端通信终端将该对端通信终 端中解码器的解码参数更新为新的编解码参数(即:将该对端通信终端中解码器的解码参 数替换为新的编解码参数),从而实现对双方通信终端中编解码参数的优化。
[0056] 270,通信终端中编码器利用更新后的编码参数对该通信终端采集的语音数据进 行编码,并通过通信网络向对端通信终端传输编码得到的语音码流数据。
[0057] 280,对端通信终端中解码器利用更新后的解码参数对通信终端传输的采集的语 音码流数据进行解码,获得语音数据并播放。
[0058]同样,对端通信终端作为图2所示实施例中的通信终端,执行图2所示实施例的流 程,实现对对端通信终端中编码参数和通信终端中解码参数的优化。
[0059] 作为一个具体示例,在本发明上述各语音数据的编码方法实施例中,编码器具体 为G. 729编码器,解码器具体为G. 729解码器,新的编解码参数、编码参数与解码参数具体 包括矢量量化码本LI、L2、L3。相应地,该示例中,通信终端每隔第一预设时间tl提取一 组语音特征矢量具体为:每隔第一预设时间tl提取一组10维的切换滑动平均(Swiched MovingAveragePrediction,ΜΑ)预测残差矢量作为语音特征矢量。
[0060]G. 729编码器采用一种按帧编码的策略,每次采集读入一帧(80个语音样本点) 语音数据,编码得到80比特压缩后的数据(即:语音码流数据),而G. 729解码器的作用则 是将上述80比特压缩后的数据解码还原为80个语音样本点。G. 729编码器采集一帧语音 数据后进行加窗,并对对加窗后的语音帧采用Levison-Durbin算法进行计算得到一组线 性预测系数,并转换为等价的线谱对(LinearSpectrumPairs,LSP)系数表示。使用矢量 量化码本LI、L2、L3对本语音帧LSP系数进行编码时,首先使用在其之前4帧的LSP系数 对本语音帧的LSP系数进行MA预测(以下简称:MA预测),然后使用矢量量化码本L1、L2、 L3对经ΜΑ预测获得的ΜΑ预测残差矢量进行两级矢量量化编码。其中使用的矢量量化码 本是由两级容量不同的码本构成。第一级是10维码本(用7比特进行整体矢量量化),记 为L1 ;第二级是将10维码本分裂为两个5维的码本(分别用5比特进行矢量量化),分别 记为L2、L3。对于现行G. 729标准而言,L1、L2、L3的码本矢量都是固定的,如后续表1、表 2中所示。
[0061] 作为另一个具体示例,在本发明上述各语音数据的编码方法实施例中,基于距离 的聚类算法具体为硬聚类(K-Means)算法。在实际应用中,G. 729编码器采用定点运算 (fixed-pointarithmetic)实现,而K-Means算法得到的矢量量化码本通常带有小数,贝IJ在 操作240中,分析服务器具体采用K-Means算法,对通信终端最近上传的N个MA预测残差 矢量进行计算,得到精确编解码参数;并对计算得到的精确编解码参数进行四舍五入取整, 得到矢量量化码本LI、L2、L3。
[0062] 若通信终端最近上传的N个语音特征矢量以集合形式表示为{xj,i= 1,. . .,N。 则在本发明上述各语音数据的编码方法实施例的又一个具体示例中,采用K-Means算法, 对通信终端最近上传的N个语音特征矢量进行计算具体包括:
[0063] 从对N个语音特征矢量中,随机选择K个MA预测残差矢量作为中心矢量,表示为 {vk},k= 1,. . .,K,K为矢量量化码本的数量,K小于或等于N;
[0064] 分别针对每一个语音特征矢量Xp通过公式diik = | |xi_vk| |计算其到K个中心 矢量距离,此处的距离采用欧氏距离dlik度量,并选择一个与其距离最小的中心矢量作为该 语音特征矢量Xi对应中心矢量,所有对应中心矢量Vk的语音特征矢量的集合为,i= 1,···,Ρ|^,
[0065] 计算所有对应中心矢量^的语音特征矢量的算数平均值作为新的中心矢量v'k :
;其中,pk表示集合丨中元素的个数; )i
[0066] 以ν'k替换vk,并返回开始执行分别针对每一个语音特征矢量Xl,计算其到K个中 心矢量的欧氏距离的操作,直到满足条件||八-^||〈8,输出{八},其中,£为预设阈值;
[0067] 通过如下公式计算以{ν'k}作为矢量量化码本对{Xl}进行矢量量化的均方误差 (MSE)
,并记录Iv'k}及其MSE值;
[0068] 重复执行从"从对N个语音特征矢量中,随机选择K个MA预测残差矢量作为中心 矢量"至"记录{ν'k}及其MSE值"的操作至Q次,得到Q个MSE值,以该Q个MSE值中值最 小的MSE值对应的{ν'k}作为精确编解码参数的矢量量化码本L输出,其中,Q为预设正整 数。
[0069] 进一步示例性地,采用K-Means算法计算获取精确编解码参数中的矢量量化码本 L1时,可以设置上述又一个具体示例中的K= 128,通过上述又一个具体示例的流程,计算 获得的矢量量化码本L即为矢量量化码本L1。
[0070] 进一步示例性地,采用K-Means算法对通信终端最近上传的N个语音特征矢量进 行计算,得到精确编解码参数中的矢量量化码本L2时,具体可以通过如下方式实现:
[0071] 计算采用矢量量化码本L1对{Xl}进行矢量量化的误差:yi =Xl_VQ(Xl,L1);其 中矢量量化码本L1为上述采用K-Means算法计算获得的精确编解码参数中的矢量量化 码本LI;VQ(Xl,L1)表示采用矢量量化表L1对矢量Xl进行矢量量化,S卩:从码本L1中找 到一个码本矢量如使得其与\的欧式距离最小,S卩:| |Xl-ak| |彡||Χι-α]| |,k弇j, je[1,2,···,128];
[0072] 分别提取每个矢量量化的误差yi的前5维v;
[0073] 以}代替IviJ作为K
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1