Algebraic code-excited linear prediction

From Infogalactic: the planetary knowledge core
(Redirected from Algebraic CELP)
Jump to: navigation, search

Algebraic code-excited linear prediction (ACELP) is a patented[1] speech coding algorithm by VoiceAge Corporation in which a limited set of pulses is distributed as excitation to a linear prediction filter.

The ACELP method is widely employed in current speech coding standards such as AMR, EFR, AMR-WB (G.722.2), VMR-WB, EVRC, EVRC-B, SMV, TETRA, PCS 1900, MPEG-4 CELP and ITU-T G-series standards G.729, G.729.1 (first coding stage) and G.723.1.[2][3][4][5] The ACELP algorithm is also used in the proprietary ACELP.net codec.[6]

ACELP is a patented technology and registered trademark of VoiceAge Corporation[7] in Canada and/or other countries and was developed in 1989 by the Université de Sherbrooke in Canada.[8]

Features

The main advantage of ACELP is that the algebraic codebook it uses can be made very large (> 50 bits) without running into storage (RAM/ROM) or complexity (CPU time) problems.

Technology

The ACELP algorithm is based on that used in code-excited linear prediction, 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 of N speech samples is synthesized by filtering an appropriate innovation sequence from a codebook, scaled by a gain factor g c, through two time-varying filters.

The long-term (pitch), synthesis filter is given by:

\frac1{B(z)} = \frac1{ 1 - g_p z^{-T} }

The short-term synthesis filter is given by:

\frac1{A(z)} = \frac1{ 1 + \sum_{i=1}^P a_i z^{-i} }

References

  1. US Patent 5717825 Algebraic code-excited linear prediction speech coding method 10th February 1998
  2. ACELP map, VoiceAge Corporation, Archive.org
  3. VoiceAge Corporation - related standards
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Trademarks
  8. Transfer of technology

<templatestyles src="Asbox/styles.css"></templatestyles>