Algebraic code-excited linear prediction (ACELP) is aspeech coding algorithm in which a limited set of pulses is distributed as excitation to alinear prediction filter. It is alinear predictive coding (LPC) algorithm that is based on thecode-excited linear prediction (CELP) method and has analgebraic structure. ACELP was developed in 1989 by the researchers at theUniversité de Sherbrooke inCanada.[1]
The ACELP method is widely employed in current speech coding standards such asAMR,EFR,AMR-WB (G.722.2),VMR-WB,EVRC,EVRC-B,SMV,TETRA, PCS 1900,MPEG-4 CELP andITU-T G-series standardsG.729,G.729.1 (first coding stage) andG.723.1.[2][3][4][5] The ACELP algorithm is also used in the proprietary ACELP.net codec.[6]Audible Inc. use a modified version for their speaking books. It is also used in conference-calling software, speech compression tools and has become one of the3GPP formats.
The ACELP patent expired in 2018 and is now royalty-free.[7]
The main advantage of ACELP is that thealgebraic codebook it uses can be made very large (> 50 bits) without running into storage (RAM/ROM) or complexity (CPU time) problems.
The ACELP algorithm is based on that used incode-excited linear prediction (CELP), but ACELP codebooks have a specific algebraic structure imposed upon them.
A 16-bit algebraic codebook shall be used in the innovative codebook search, the aim of which is to find the best innovation and gain parameters. The innovation vector contains, at most, four non-zero pulses.
In ACELP, a block ofN speech samples is synthesized by filtering an appropriate innovation sequence from a codebook, scaled by a gain factorgc, through two time-varying filters.
The long-term (pitch) synthesis filter is given by:
The short-term synthesis filter is given by: