g729专题

g729源码分析-7-增益量化

现在来分析g729的增益量化, 这里包含两个增益,一个是自适应码本的增益gp,一个是固定码本的增益gc 由于自适应码本与固定码本已经被搜索出来了, 就可以根据这两级码本,与反量化的Az系数进行卷积,得到解码的语音信号(包含未知变量gc与gp) 利用这个解码的语音信号与目标语音信号方差最小为准则, 在增益码本里做搜索,搜索出最佳增益 即itu文档中

g729源码分析-6-固定码本搜索

g729自适应激励部分在基音周期中分析了. g729固定码本搜索和g723极其类似,相应的算法可以参考g723的算法. 但作为编码的一个重要环节,又不得不提一下. 考虑到笔者那已经少得可怜的脑细胞,就一笔带过吧. 首先有这么一行:     gain_pit = G_pitch(xn, y1, g_coeff, L_SUBFR); gain

g729源码分析-5-基音周期搜索(下)

前面两节讲完了g729基音周期搜索的基本流程与依据 这里结合代码,进一步讲述这一过程 整数基音周期搜索比较简单 分成三段搜索,每段的权值不同,这在之前分析过了,不详述了 分数基音周期搜索是针对每个子帧进行的 每个子帧在开环基音周期附近,搜索闭环基音周期 首先构造出冲激响应 W(z)/A(z) 即感知加权滤器和综合滤波器 串联而成的系

g729源码分析-3-基音周期搜索(上)

基音周期搜索,是自适应码本搜索的一个重要依据, 自适应码本的搜索就是在基音周期附近进行的. 和g723的基音周期搜索不同,g729的基音周期搜索搜索也更为精细 g729把基音周期的搜索分成3段,取了每一段中自相关的极值, 三段区间分别为[20,39] [40,79] [80,143] 这三个区间的权值是不一样的,以0.85递减 这个选取归规则可以

g729源码分析-4-基音周期搜索(中)

上一节对分数基音周期搜索作了文字说明, 笔者画了几幅图,对分数基音周期搜索里的升抽样进一步说明 图1: 表示一个带限的离散时间信号的傅里叶变换,它必然是以2 pi为周期的函数. 图2: 当我们用 t[n]=1当n%3==0 对语音信号进行抽样时, t[n]的频谱图如图2所示, 图3: 图1与图2的卷积,因为t[n]的频

g729源码分析-2-共振锋感知加权

不同于g723固定系数的共振峰感知加权 g729的共振峰感知加权是自适应的. perc_var 这个函数来对共振峰感加权进行估值 我们先看itu的文档 3.3节 的式30, 这是一个判断语音频谱是否平坦的一个条件. 因为人类语音的频谱有个特点,越高频的共振峰的能量会越弱. 而共振峰感知加权要注意这个现象,如果频谱倾斜了(高频共振峰能量弱),要加强

g729源码分析-1-lpc分析

g729编码分析了大部分,编码总体框架和g723有些类似. 均是基于lpc分析的码本激励编码. g729提供了更低的编码延迟(10ms) g729的第一步Pre_Process照样是高通滤波,滤除低频噪声. Coder_ld8k 为编码主体函数 Autocorr 第一步,计算自相关,根据lpc预测阶数10,从R(0)算到R(10),(类似g72

g729源码分析-开篇

完成了g723,打算先看看g729.大致扫了一篇编解码框图. 都是基于10阶线性预测(10e lpc) 看到了熟悉的莱文森德宾递推,基音周期搜索等。 感知加权滤波器的设计有所不同。 自适应激励与固定码本激励部分基本都差不太多。 g729的处理的数据块为10ms,80个采样, 相对g723编码时延更低。 g729的高通滤波也比较纠结,阶数比g723的更高

音频编解码G729 PCM

G.711与G.729的带宽分别是80Kbps和24Kbps。   恩奎斯特原理规定声音的采样频率是每秒8000次,每次8bit,语音数据带宽就是64Kbps(8000*8)。正常语音包是10ms成帧一次,每两帧成一个包。这样,每秒就成50个包(1000/20)。每个包的IP头是20byte,UDP头8byte,RTP头12byte,总共 40byte,或320bits(40*8)。50个包就是1

基于Android系统PJSIP库植入g729编码

基于Android系统PJSIP库植入g729编码 前言操作步骤1.从仓库下载最新的 PJSIP。3.将你的PJSIP项目中的所有文件作为给定补丁中的目录。4.按照 pjproject-2.5.diff 的说明应用更改。5.构建。 前言 有时候由于工作的需求,我们需要基于Android系统的PJSIP库支持G.729编码,原来的库在编译的时候并没有支持此编码,通话会听不见声