深入剖析iLBC 解码器原理

继续学习iLBC Codec ...

 

一、iLBC解码器的流程

      如图1是没有丢帧情况下的iLBC解码流程,当解码端收到Payload时,首先从bitstream里面解析出解码所需要的参数。这里的解码参数从LPC开始,然后是重建起始状态,接下来的sub frame重建与编码时的顺序一致,通过解码三级形状/增益矢量并且相乘再叠加在一起就得到了重建的残差信号。然后进入语音增强模块,提高语音信号的周期性,最后再经过合成滤波以及后处理模块得到解码语音。如果发生丢包,那么步骤1到5需要采用丢包补偿模块进行处理,关于丢包补偿(PLC)内容较多,以后再详细说明。

 

 

 

1、从bitstream中提取解码参数;

2、解码LPC系数,并且通过内插得到各个子帧的相应LPC系数,这个步骤比较直接,在各个speech codec的实现都基本相似;

3、重建57/58个样点的起始状态矢量。首先通过查找表解码DPCM样点,然后将解码的Scalar恢复矢量的功率,接下来通过时间反转和全通滤波得到57/58的起始状态矢量。剩下的23/22个样点矢量通过起始状态矢量构成的动态码书和相应的索引号进行解码重建。

4、利用已经解码的残差信号样点建立Codebook Memory,按照编码的顺序依次解码各个子帧,需要注意的是解码在起始状态之前的矢量时,需要对残差信号和目标矢量进行时间反转。

5、通过(ga

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值