Code-excited linear prediction: Difference between revisions

Content deleted Content added
No edit summary
No edit summary
Line 13:
[[File:Celp decoder.svg|300px|thumb|Figure 1: CELP decoder]]
 
Before exploring the complex encoding process of CELP we introduce the decoder here. Figure 1 describes a generic CELP decoder. The excitation is produced by summing the contributions from an adaptivefixed (a.k.a. pitchstochastic or innovation) codebook and a stochasticadaptive (a.k.a. innovation or fixedpitch) codebookcodebooks:
 
:<math>e[n]=e_ae_f[n]+e_fe_a[n]\,</math>
 
where <math>e_{af}[n]</math> is the adaptivefixed ([[Pitcha.k.a. (music)|pitch]]stochastic or innovation) codebook contribution and <math>e_{fa}[n]</math> is the stochasticadaptive (innovation[[Pitch or fixed(music)|pitch]]) codebook contribution. The fixed codebook is a [[vector quantization]] dictionary that is (implicitly or explicitly) hard-coded into the codec. This codebook can be algebraic ([[ACELP]]) or be stored explicitly (e.g. [[Speex]]). The entries in the adaptive codebook consist of delayed versions of the excitation. This makes it possible to efficiently code periodic signals, such as voiced sounds.
 
The filter that shapes the excitation has an all-pole model of the form <math>1/A(z)</math>, where <math>A(z)</math> is called the prediction filter and is obtained using linear prediction ([[Levinson recursion|Levinson–Durbin algorithm]]). An all-pole filter is used because it is a good representation of the human vocal tract and because it is easy to compute.