`
touchinsert
  • 浏览: 1287860 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

g723编解码简述

 
阅读更多

先写个简单的吧,过段时间再把g723代码详细分析

g723针对8k采样,16bit量化的pcm信号进行编码,30ms的延迟,意味着每个数据块是240个采样

首先对信号进行低通滤波,为的是去掉低频分量

接下来是lpc10分析,提取出10lpc系数,沿着单位圆暴力搜索出对应的lsf系数,这一段为

各种语音编解码共有的,过段时间笔者再对lpc做一个代码级的详细分析吧.

完成了lpc分析之后,就剩对激励的编码了,这就是各种编解码的不同之处,

当然在这之前,g723会根据lpc系数对信号进行感知加权,

对激励源的编码也是针对感知加权后的信号进行的

这里简述一下5.3k速率的激励源编码

对信号进行基音周期分析(自相关法)

编码分两级进行,首先目标信号先得经过自适应激励,

所谓自适应激励,就是把历史的激励保存下来,

在基音周期附近,搜索自适应激励,

每个激励样值是由五个历史激励与增益码本里的系数乘积得到的

最佳自适应的取值标准是按欧式距离最短的方式得到的

自适应激励之后,得到了残差信号,对其在一个伪随机的码本搜索固定码本

g723对固定码本做了新的定义,随将伪随机冲激信号分成4个,每个只在固定的

位置出现,这样就简化的固定码本搜索的运算量.

码字为冲激信号的位置(所有的激励信号可以同时移动一个位置,这需要一个额位的bit位来编码)

,符号,并且在这一步算出固定码本的增益

完成了固定码本的搜索之后,

g723做一些同步内存更新,将当前解码后和自适应激励保存下来,作为之后最佳自适应激励的码本

g723解码...看懂编码,解码自然也就懂了,编解码双方都保存有自适应码本,做个语音合成

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics