Description
The adaptive codebook is a fundamental component of linear predictive coding (LPC) based speech codecs, particularly those used in 3GPP systems such as the Adaptive Multi-Rate (AMR) codec. It is used in the decoder to reconstruct the excitation signal by providing a set of candidate excitation vectors that are derived from the long-term filter state. Unlike a fixed codebook, which contains a static set of vectors, the adaptive codebook is updated for every subframe based on the previously synthesized excitation. This dynamic nature allows the codec to efficiently model the pitch periodicity of voiced speech.
The adaptive codebook operates by maintaining a buffer of past excitation samples. For each subframe, a lag value (also known as pitch delay) is determined, which points to a specific location in this buffer. The vector starting at that lag is then extracted and scaled by a gain factor to form the adaptive codebook contribution to the total excitation. The lag value can be fractional, allowing for fine pitch resolution. The adaptive codebook is thus essentially a long-term predictor that exploits the correlation between adjacent pitch periods.
In the AMR codec, the adaptive codebook is used in all modes, from 4.75 kbit/s to 12.2 kbit/s. The codec operates on 20 ms frames, which are divided into subframes of 5 ms. For each subframe, the encoder searches the adaptive codebook for the lag that minimizes the error between the original and synthesized speech. The selected lag and gain are quantized and transmitted to the decoder. The decoder then uses these parameters to generate the excitation signal, which is filtered by the short-term synthesis filter to produce the output speech.
The adaptive codebook is closely tied to the long-term synthesis filter, which is an all-pole filter with a single tap. The filter's coefficient is the adaptive codebook gain, and its delay is the lag. This structure is efficient because it captures the pitch information with just two parameters per subframe. The adaptive codebook is also used in other 3GPP codecs, such as the Enhanced Full Rate (EFR) and the Adaptive Multi-Rate Wideband (AMR-WB) codecs, although the specific implementation details may vary.
In summary, the adaptive codebook is a crucial element in speech coding that provides a means to represent the pitch periodicity of speech signals efficiently. Its adaptive nature allows it to track changes in pitch over time, resulting in high-quality speech at low bit rates. The concept has been standardized in 3GPP since Release 8 and continues to be used in current and future codecs.
Purpose & Motivation
The adaptive codebook exists to efficiently model the pitch periodicity of voiced speech in low-bit-rate speech codecs. Traditional waveform codecs required high bit rates to accurately represent speech, but LPC-based codecs separate the speech signal into spectral envelope and excitation. The adaptive codebook provides a way to represent the periodic component of the excitation with very few bits, by reusing past excitation samples. This is motivated by the fact that voiced speech is quasi-periodic, and the pitch period changes slowly. By using a long-term predictor, the codec can achieve significant compression while maintaining good quality.
Before the adaptive codebook, codecs like the original GSM Full Rate (FR) used a simplified long-term predictor but with limited resolution. The adaptive codebook concept, introduced in codecs like the GSM Enhanced Full Rate (EFR) and later standardized in AMR, provided a more flexible and accurate pitch prediction. It allows fractional pitch lags and multiple gain quantization, which improves speech quality, especially for female and child voices with higher pitch. The adaptive codebook also enables seamless switching between codec modes, as it is a core component of the AMR framework.
The adaptive codebook solves the problem of efficiently encoding the pitch information without transmitting an explicit pitch value for every sample. Instead, it leverages the redundancy in the excitation signal. This is particularly important in mobile communications, where bandwidth is limited and robust performance in noisy conditions is required. The adaptive codebook has been a key enabler for the widespread adoption of AMR as the dominant speech codec in GSM and UMTS networks.
What changed in its specifications
The latest release-to-release comparison of specifications that define Adaptive codebook. Each summary describes the whole specification, not only this term.
Rel-16 brings only minor changes to TS 26.090: 0 clauses changed, with no change attributed to a release feature.
Full comparison in TS 26.090 →Release Timeline
Evolution Across Releases
An overview written from the defining specifications, not a verified change history. For the exact text, open the specifications listed below.
Initial definition introduced: The adaptive codebook contains excitation vectors that are adapted for every subframe. The adaptive codebook is derived from the long-term filter state. The lag value can be viewed as an index into the adaptive codebook.
Defining Specifications
3GPP specifications that define or reference Adaptive codebook, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 26.090 vj00 | AMR Speech Codec Detailed Mapping Specification | Rel-19 read |
| TS 26.190 vj00 | AMR-WB Speech Codec Detailed Mapping | Rel-19 read |
| TS 26.290 vj00 | AMR-WB+ Audio Codec Specification | Rel-19 read |
| TS 46.020 vj00 | GSM Half Rate Speech Codec Specification | Rel-19 read |
| TS 46.060 vj00 | GSM Enhanced Full Rate Speech Codec | Rel-19 read |