首页> 中国专利> 一种基于前后向联合估计的丢帧差错隐藏方法及系统

一种基于前后向联合估计的丢帧差错隐藏方法及系统

摘要

本发明提供一种基于前后向联合估计的丢帧差错隐藏方法及系统,包括:缓存已经播放的两帧语音数据和将要播放的六帧语音数据;当检测到发生丢帧时,根据丢帧前的语音数据向后估计还原丢帧语音数据;根据丢帧后的语音数据向前估计还原丢帧语音数据;根据向后估计还原丢帧的语音数据和向前估计还原丢帧的语音数据进行交叉衰减生成丢失的语音估计复原信号。本发明利用语音短时平稳特点,根据丢帧前后的语音信息对丢帧进行联合估计,能更准确的估计出丢失的语音帧,对丢帧的补偿更加准确。

著录项

  • 公开/公告号CN104751851A

    专利类型发明专利

  • 公开/公告日2015-07-01

    原文格式PDF

  • 申请/专利权人 联芯科技有限公司;

    申请/专利号CN201310747005.6

  • 发明设计人 许云峰;王彦;

    申请日2013-12-30

  • 分类号G10L19/04(20130101);G10L19/005(20130101);

  • 代理机构上海思微知识产权代理事务所(普通合伙);

  • 代理人王宏婧

  • 地址 201206 上海市徐汇区钦江路333号41幢4楼

  • 入库时间 2023-12-18 09:38:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-04-14

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G10L19/04 专利号:ZL2013107470056 变更事项:专利权人 变更前:宸芯科技有限公司 变更后:宸芯科技股份有限公司 变更事项:地址 变更前:266500 山东省青岛市黄岛区滨海街道融合路687号 变更后:266499 山东省青岛市黄岛区珠江路1699号16栋102户 变更事项:专利权人 变更前:青岛微阩科技有限公司 变更后:青岛微阩科技有限公司

    专利权人的姓名或者名称、地址的变更

  • 2022-12-02

    专利权的转移 IPC(主分类):G10L19/04 专利号:ZL2013107470056 登记生效日:20221121 变更事项:专利权人 变更前权利人:辰芯科技有限公司 变更后权利人:宸芯科技有限公司 变更事项:地址 变更前权利人:201206 上海市浦东新区中国(上海)自由贸易试验区明月路1258号3幢第4层A406室 变更后权利人:266500 山东省青岛市黄岛区滨海街道融合路687号 变更事项:专利权人 变更前权利人: 变更后权利人:青岛微阩科技有限公司

    专利申请权、专利权的转移

  • 2018-09-14

    专利权的转移 IPC(主分类):G10L19/04 登记生效日:20180824 变更前: 变更后: 申请日:20131230

    专利申请权、专利权的转移

  • 2018-07-10

    专利实施许可合同备案的生效 IPC(主分类):G10L19/04 合同备案号:2018990000159 让与人:联芯科技有限公司 受让人:上海立可芯半导体科技有限公司 发明名称:一种基于前后向联合估计的丢帧差错隐藏方法及系统 申请公布日:20150701 授权公告日:20180427 许可种类:普通许可 备案日期:20180615 申请日:20131230

    专利实施许可合同备案的生效、变更及注销

  • 2018-04-27

    授权

    授权

  • 2015-07-29

    实质审查的生效 IPC(主分类):G10L19/04 申请日:20131230

    实质审查的生效

  • 2015-07-01

    公开

    公开

查看全部

说明书

技术领域

本发明涉及通讯技术领域,特别涉及一种基于前后向联合估计的丢帧差错 隐藏方法及系统。

背景技术

丢包补偿(Packet Loss Concealment,PLC)算法,也称为帧差错隐藏(Frame  Erasure Concealment,FEC)算法。在语音通信中由于网络质量的问题可能会导 致丢失语音数据,出现大块的语音流数据消失,从而会导致语音戛然而止的听 觉效应,造成语音的不连续。如果这个时候能估计出丢失的语音数据来补偿这 些丢失的数据的话,那么就能消除由于语音丢失带来的语音质量损失。这也是 PLC的基本功能,估计丢失的语音信号,然后用其填充语音流的缺失部分。

丢包补偿主要用于在编码打包,然后通过网络传输,在接收端解码的音频 系统,如果在该过程中存在丢包现象,则进行丢包补偿。在很多基于标准的码 本激励线性预测(Code Exited Linear Prediction,CELP)语音编解码器,都有 丢包补偿功能。如:G.729,amr,efr等。但对于一些非CELP编码的编解码 器是不存在丢包补偿算法的,如:G.711、G.722等。所以这些编解码器需要使 用丢包补偿算法。

由于语音具有短时平稳性,因此可以根据其邻近的信号进行估计丢失的语 音信号。根据CELP的观点,语音的产生有两部分:声道和激励源。所述主要 通过极点模型来建模,通过线性预测来提取声道参数。所述语音的激励信号有 两种:一种是周期激励信号源,另外一种是随机激励(白噪声)。这两者信号 组成了信源激励e(n)。由激励信号通过合成滤波器最终产生语音信号。通过这 个基本的发声模型和语音的短时平稳特性就可以预测丢失的语音信号部分。

在上述估计中,通常估计两个部分:一、线性预测系数(Linear prediction  coefficient);二、激励信号。这些都可以通过邻近的信号进行估计。

现有的PLC算法中大部分都是采用外推法(Extrapolation),如图1所示, 其是典型的外推法差错隐藏算法流程。整个过程分成两个部分:分析部分和综 合部分。

所述分析部分主要使用丢帧之前的信号估计出基音周期(T0),线性预测 系数(A(z)),残差信号(e(n))和信号分类(Class),用于综合的时候估计 出丢失的语音信息。其中:A(z)=1+a1z-1+a2z-2+...+a8z-8

所述综合部分主要对丢失的信息进行估计。

首先判断当前信号是否是元音,如果是则对残差信号e(n)进行基音周期延 拓;如果不是则对残差信号e(n)进行修改再进行周期延拓。

然后对修改后的残差信号e′(n)输入到综合滤波器获得1/A(z)综合后的信号 得到y(n)。

最后,根据当前信号分类和丢帧的长度计算衰减增益gmute,并对滤波器输 出信号进行衰减y′(n)=y(n)□gmute(n),最终获得丢帧估计的信号y′(n)。

但是,由于语音特点具有短时平稳性。一般语音在10ms~30ms是平稳的。 利用外推法预测丢失的语音能力是非常有限的,难获得丢失帧的趋势变化, 如:基音变化,幅度变化等。所以外推法能预测的帧数是非常少的,一旦预测 帧数变多,会导致估计不准确影响语音质量。

所以目前绝大多数都会使用衰减增益用于对预测之后的语音信号进行衰 减,防止预测的帧数过多导致后面的预测不准确反而使语音质量恶化。所以现 有的丢包补偿算法能力十分有限,最多能够估计2~3帧(20ms一帧)丢失的语 音帧,否则会出现由于预测错误出现金属音。所述金属音是指因为丢帧过多, 在做丢包补偿的时候,由于估计的语音信号其同一种信号短周期重复持续时间 过长,导致人耳听觉上感觉金属音的现象。

发明内容

本发明的目的在于提供一种基于前后向联合估计的丢帧差错隐藏方法及系 统,以解决技术预测丢失的语音能力非常有限,一旦预测帧数变多,会导致估 计不准确影响语音质量的问题。

为解决上述技术问题,本发明提供一种基于前后向联合估计的丢帧差错隐 藏方法,包括:

缓存已经播放的两帧语音数据和将要播放的六帧语音数据;

当检测到发生丢帧时,根据丢帧前的语音数据向后估计还原丢帧语音数据; 根据丢帧后的语音数据向前估计还原丢帧语音数据;

根据向后估计还原丢帧的语音数据和向前估计还原丢帧的语音数据进行交 叉衰减生成丢失的语音估计复原信号。

优选的,在所述的基于前后向联合估计的丢帧差错隐藏方法中,所述根据 丢帧前的语音数据向后估计还原丢帧语音数据的步骤包括:

线性预测分析滤波器获得滤波器参数;估计当前信号的基因周期;对当前 信号进行分类,当前信号的种类包括元音态、清音态和转换态;

根据所述线性预测分析滤波器获得的滤波器参数得到当前的分析滤波器; 若当前信号是元音态,则通过所述基因周期重复估计当前信号的残差信号,若 当前信号是非元音态则对当前信号的残差信号进行修改后得出当前信号的残差 信号;根据丢帧的不同类别采用分段线性衰减的方法进行衰减;

根据所述当前的分析滤波器和当前信号的残差信号估计丢帧的语音数据部 分;当丢帧结束后的语音信号不是元音,则进行衰减,当丢帧结束后的语音是 元音,则不进行衰减保持原值,最终获得丢帧的估计信号。

优选的,在所述的基于前后向联合估计的丢帧差错隐藏方法中,所述线性 预测分析滤波器是8阶线性预测分析滤波器。

优选的,在所述的基于前后向联合估计的丢帧差错隐藏方法中,所述根据 丢帧后的语音数据向前估计还原丢帧语音数据的步骤包括:

对丢帧进行分类,当前信号的种类包括元音态、清音态和转换态;估计当 前信号的基因周期;

获得一个单周期的估计信号,通过向前周期延拓获得估计的丢帧信息;

判断丢帧结束后的语音数据是否为元音态,若是元音态,则打开输出控制 开关,若不是元音态,则关闭输出控制开关。

优选的,在所述的基于前后向联合估计的丢帧差错隐藏方法中,在获得一 个单周期的估计信号,通过向前周期延拓获得估计的丢帧信息的步骤中,只对 丢帧结束后的语音数据是元音态的语音数据进行估计。

相应的,本发明还提供一种基于前后向联合估计的丢帧差错隐藏系统,包 括:

缓存区部分,用于缓存已经播放的两帧语音数据和将要播放的六帧语音数 据;

后向预测部分,用于根据丢帧前的语音数据向后估计还原丢帧语音数据;

前向预测部分,用于根据丢帧后的语音数据向前估计还原丢帧语音数据;

交叉衰减部分,用于根据所述后向预测部分和所述前向预测部分进行交叉 衰减生成丢失的语音估计复原信号。

优选的,在所述的基于前后向联合估计的丢帧差错隐藏系统中,所述后向 预测部分包括:

线性预测分析单元,用于线性预测分析滤波器获得滤波器参数;

长时预测单元,用于估计当前信号的基因周期;

信号分类器,用于对当前信号进行分类,当前信号的种类包括元音态、清 音态和转换态;

分析滤波器,用于根据所述线性预测分析滤波器获得的滤波器参数得到当 前的分析滤波器;

基因周期重复和残差信号修改单元,用于若当前信号是元音态,则通过所 述基因周期重复估计当前信号的残差信号,若当前信号是非元音态则对当前信 号的残差信号进行修改后得出当前信号的残差信号;

衰减因子计算单元,用于根据丢帧的不同类别采用分段线性衰减的方法进 行衰减;

线性预测综合,用于根据所述当前的分析滤波器和当前信号的残差信号估 计丢帧的语音数据部分;

二元判决单元,用于丢帧结束后的语音信号不是元音,则进行衰减,当丢 帧结束后的语音信号是元音,则不进行衰减保持原值;

衰减单元,用于生成丢帧的估计信号。

优选的,在所述的基于前后向联合估计的丢帧差错隐藏系统中,在线性预 测分析单元中,所述线性预测分析滤波器是8阶线性预测分析滤波器。

优选的,在所述的基于前后向联合估计的丢帧差错隐藏系统中,所述前向 预测部分包括:

信号分类器,用于对丢帧进行分类,当前信号的种类包括元音态、清音态 和转换态;

长时预测单元,用于估计当前信号的基因周期;

基因重复估计单元,用于获得一个单周期的估计信号,通过向前周期延拓 获得估计的丢帧信息;

元音判决单元,用于判断丢帧结束后的语音数据是否为元音态;

输出控制开关,若是元音态,则打开输出控制开关,若不是元音态,则关 闭输出控制开关。

优选的,在所述的基于前后向联合估计的丢帧差错隐藏系统中,在基因重 复估计单元中,只对丢帧结束后的语音数据是元音态的语音数据进行估计。

本发明提供的基于前后向联合估计的丢帧差错隐藏方法及系统,具有以下 有益效果:本发明利用语音短时平稳特点,根据丢帧前后的语音信息对丢帧进 行联合估计,能更准确的估计出丢失的语音帧,对丢帧的补偿更加准确。

附图说明

图1是现有的外推法差错隐藏算法流程;

图2是本发明实施例的基于前后向联合估计的丢帧差错隐藏方法及系统的 示意图;

图3是本发明实施例的基于前后向联合估计的丢帧差错隐藏方法及系统的 衰减曲线示意图;

图4-5是本发明与其他实施例的对比图。

具体实施方式

以下结合附图和具体实施例对本发明提出的基于前后向联合估计的丢帧差 错隐藏方法及系统作进一步详细说明。根据下面说明和权利要求书,本发明的 优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精 准的比例,仅用以方便、明晰地辅助说明本发明实施例的目的。

请参考图2,其是本发明实施例的基于前后向联合估计的丢帧差错隐藏方法 及系统的示意图。所述基于前后向联合估计的丢帧差错隐藏系统包含四个部分, 缓存区部分、后向预测部分、前向预测部分和交叉衰减部分。

所述缓存区部分用于缓存已经播放的2帧语音数据并缓存6帧将要播放的 语音数据。当发现即将播放的下一帧数据是坏帧,则立即启动差错隐藏机制。 差错隐藏机制分成两部分,第一部分是后向预测部分用于向后估计还原丢帧数 据,该部分利用丢帧前的语音数据基于语音的短时平稳特性向后估计出丢失的 语音;第二部分是前向预测部分用于向前估计还原丢帧数据,该部分利用丢帧 结束之后的语音数据向前估计还原丢帧数据。差错隐藏还原估计完成之后,交 叉衰减部分对两份估计语音数据进行交叉衰减生成缺失的语音估计复原信号。

所述基于前后向联合估计的丢帧差错隐藏方法具体包括如下步骤:

步骤一:缓存已经播放的两帧语音数据和将要播放的六帧语音数据;所述 缓存区部分的缓存大小为8帧(20ms/帧)。其中,缓存区的前两帧为已经播放 的缓存,缓存区的后六帧是将要播放的语音数据。当发现即将播放的下一帧数 据发生丢帧(即为坏帧/空帧),则立即启动后向预测部分和前向预测部分。

步骤二:根据丢帧前的语音数据向后估计还原丢帧语音数据;所述后向预 测部分包括:线性预测分析单元、长时预测单元、信号分类器、分析滤波器、 基因周期重复和残差信号修改单元、衰减因子计算单元、线性预测综合、二元 判决单元和衰减单元;

首先,线性预测分析滤波器A(z)采用8阶线性预测分析滤波器获得滤波器 参数,定义为A(z)=1+a1z-1+a2z-2+...+a8z-8

线性预测分析与一般CELP的语音编码器类似包含两部分:加窗与自相关 计算和杜宾算法(Levinson-Durbin algorithm)。自相关计算包括60Hz的频带扩 展和40dB的白噪声校正。其中,线性预测分析窗是一个非对称的汉明窗:

wlp(n)=0.54-0.46cos((n+80)π69)n=-80,...,-110.54+0.46cos((n+11)π10)n=-10,...,-1

进一步的,长时预测单元估计当前信号的基因周期。

丢帧的缓存头x(n),n=-288,…,-1,(288个样点为最大2倍基音周期)通过 低通滤波器并进行4倍的降采样,获得带宽为2khz的降采样后的信号t(n), n=-72,…,-1。

第一次估计基音周期Td通过归一化互相关计算:

r(i)=Σj=-35-1t(j)t(j-i)max(Σj=-35-1t2(j),Σj=-35-1t2(j-i)),Td=argmaxi=i1,...,35r(i)i=1,...,35

根据第一次计算的Td再次寻找T=4Td附近的最大相关来获得更加精确的 基音周期。

R(i)=Σj=-T-1x(j)x(j-i)max(Σj=-T-1x2(j),Σj=-T-1x2(j-i))T0=argmaxt=T-2,...,T+2R(i)

进一步的,信号分类器对当前信号,丢帧的缓存头进行分类,当前信号的 种类包括元音态、清音态和转换态;

进一步的,分析滤波器根据所述线性预测分析滤波器获得的滤波器参数得 到当前的分析滤波器。分析滤波器定义为A(z)=1+a1z-1+a2z-2+...+a8z-8,根据线 性分析获得的滤波器参数得到当前的分析滤波器,使用对过去的信号x(n), n=-289,…,-1,进行滤波就能获得残差信号e(n),n=-289,…,-1:

e(n)=x(n)+Σi=18aix(n-i)

进一步的,基因周期重复和残差信号修改单元生成丢失语音部分的残差信 号。若当前信号是元音态,则通过所述基因周期重复估计当前信号的残差信号, e(n)=e(n-T0);若当前信号是非元音态,首先对其限幅,

e(n)=min(maxi=-2,...,+2(|e(n-T0+i)|),|e(n)|)×sign(e(n)),n=-T0,...,-1;然后估计出残 差信号:e(n)=e(n-T0+(-1)n)

进一步的,衰减因子计算单元,根据丢帧的不同类别采用分段线性衰减的 方法进行衰减。为了防止估计的丢失语音过多导致估计不准确,采用分段线性 衰减的方法进行衰减。根据语音分类的不同采用不同的衰减曲线。衰减曲线如 图3所示,当处于剧烈的状态转换衰减增益曲线为虚线;当处于其他状态类衰 减状态曲线为实线。

进一步的,线性预测综合根据所述当前的分析滤波器和当前信号的残差信 号估计丢帧的语音数据部分:

进一步的,二元判决单元判断丢帧结束后的语音信号是不是元音,若不是 元音,则进行衰减,即:gmute(n)=1。若是元音则不进行衰减保持原值。

最后,衰减单元生成丢帧的估计信号:y1′(n)=gmute(n)×y1(n)

步骤三:根据丢帧后的语音数据向前估计还原丢帧语音数据;所述前向预 测部分包括:信号分类器、长时预测单元、基因重复估计单元、元音判决单元 和输出控制开关。

首先,信号分类器对当前信号,丢帧的缓存尾进行分类,当前信号的种类 包括元音态、清音态和转换态;

进一步的,长时预测单元估计当前信号的基因周期;但与所述后向预测部 分的长时预测单元在进一步精确计算基音周期的时候位置不一样。

丢帧的缓存尾z(n),n=0,-1,…287(288个样点为最大2倍基音周期)通过低 通滤波器并进行4倍的降采样,获得带宽为2khz的降采样后的信号t(n), n=1,…,71。

第一次估计基音周期Td通过归一化互相关计算:

r(i)=Σj=034t(j)t(j-i)max(Σj=034t2(j),Σj=034t2(j-i)),i=1,...,35Td=argmaxi=i1,...,35r(i)

根据第一次计算的Td再次寻找T=4Td附近的最大相关来获得更加精确的基 音周期。

R(i)=Σj=-TT-1x(j)x(j-i)max(Σj=0T-1x2(j),Σj=0T-1x2(j-i))T0=argmaxi=T-2,...,T+2R(i)

进一步的,基因重复估计单元为了达到最优的效果,前向还原估计只在丢失 后的语音为元音的时候进行差错信号的前向估计。首先,获得一个单周期的估 计信号:y2(n)=z(T0-L+n),n=L-1-T0,…,L-1;再通过向前周期延拓获得估计的 丢帧信息:y2(n)=y2(T0-n),n=0,…,L-1-T0

进一步的,元音判决单元判断丢帧结束后的语音数据是否为元音态;

最后,输出控制开关,若是元音态,则打开输出控制开关,若不是元音态, 则关闭输出控制开关。

步骤四:根据向后估计还原丢帧的语音数据和向前估计还原丢帧的语音数据 进行交叉衰减生成丢失的语音估计复原信号。交叉衰减采用三角窗用于帧与帧 之间融合,

y(n)=nN-1x(L/2+n)+(1+nN-1)y(L/2+n)n=0,...,N-1

N为前后重叠的长度,一般长度为80。

基此,本发明利用语音短时平稳特点,根据丢帧前后的语音信息对丢帧进 行联合估计,能更准确的估计出丢失的语音帧,对丢帧的补偿更加准确。

如图4和图5所示,其是不引入线性衰减的时候采用本发明和采用其他方 法差错隐藏算法的对比。采用本发明的时候,同一种声音持续时间更加短暂, 这样人耳听觉上金属音的感觉会大大减弱,能够提升差错隐藏算法性能。

上述描述仅是对本发明较佳实施例的描述,并非对本发明范围的任何限 定,本发明领域的普通技术人员根据上述揭示内容做的任何变更、修饰,均属 于权利要求书的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号