Description
The envelope scalefactor is a fundamental element in audio and speech coding, particularly within the context of 3GPP codec specifications such as TS 26.402 and TS 26.404. It represents the averaged energy of a signal over a region defined by a frequency band and a time segment. In essence, it quantifies the energy distribution across different frequency bands over time, forming a spectral envelope that characterizes the signal's short-term spectral shape.
In transform-based audio codecs, the input signal is typically divided into time frames, and each frame is transformed into the frequency domain using a filterbank or transform (e.g., MDCT). The resulting spectrum is then divided into frequency bands (scalefactor bands). For each band, an envelope scalefactor is computed as a measure of the average energy. These scalefactors are then quantized and transmitted to the decoder, allowing it to reconstruct the spectral envelope and apply appropriate gain to each band.
The envelope scalefactor plays a critical role in perceptual audio coding. By capturing the energy distribution, it enables the codec to allocate bits efficiently, focusing on perceptually significant bands while reducing precision in less important ones. It also facilitates noise shaping and masking effects, which are key to achieving high compression ratios without noticeable quality degradation.
In 3GPP specifications, the envelope scalefactor is used in codecs such as the Enhanced Voice Services (EVS) codec and other audio codecs for multimedia services. The precise definition and usage may vary depending on the specific codec and its mode of operation. However, the general principle remains: the envelope scalefactor provides a compact representation of the signal's spectral envelope, enabling efficient coding and faithful reconstruction.
The concept is closely related to linear predictive coding (LPC) and other spectral envelope representation techniques. In some codecs, the envelope scalefactor may be derived from LPC coefficients or computed directly from the transform coefficients. Regardless of the method, the goal is to capture the time-varying spectral characteristics of the signal with minimal side information.
Purpose & Motivation
The envelope scalefactor exists to provide an efficient and perceptually meaningful representation of a signal's spectral envelope for audio and speech coding. It solves the problem of capturing the time-varying energy distribution across frequencies without transmitting the full spectrum, which would require excessive bandwidth. By summarizing the energy in each frequency band over a time segment, it enables significant data compression while preserving the perceptual quality of the reconstructed audio.
Before the widespread adoption of envelope scalefactors, early codecs often used simpler gain parameters or fixed band allocations, which led to poorer quality or higher bitrates. The envelope scalefactor allows adaptive bit allocation and noise shaping, which are essential for modern low-bitrate audio codecs. It also supports scalability and error resilience by providing a coarse representation that can be refined with additional data.
In the context of 3GPP, the envelope scalefactor is a key component of codecs standardized for mobile multimedia services, ensuring interoperability and high-quality audio across diverse devices and network conditions. Its definition has remained stable across releases, reflecting its fundamental role in audio coding.
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.
Defining Specifications
3GPP specifications that define or reference Envelope scalefactor, with the latest known release. Sourced from the 3GPP document catalog — see methodology.
| Specification | Title | Release |
|---|---|---|
| TS 26.402 vj00 | Enhanced aacPlus Error Concealment & Processing | Rel-19 read |
| TS 26.404 vj00 | Enhanced aacPlus SBR Encoder Specification | Rel-19 read |