ADC (Adaptive Differential Coding) . Lossy Audio Codec and more.
Authors/Creators
Description
ADC – Audio Codec for lossy Compression -
ADC Codec - Version 0.80 Technical Overview
The ADC (Advanced Differential Coding) Codec, Version 0.80, represents a significant evolution in low-bitrate, high-fidelity audio compression. It employs a complex time-domain approach combined with advanced frequency splitting and efficient entropy coding.
🔬 Core Architecture and Signal Processing
Version 0.80 operates primarily in the Time Domain but achieves spectral processing through a specialized Quadrature Mirror Filter (QMF) bank approach.
1. Subband Division (QMF Analysis)
The input audio signal is meticulously decomposed into 8 discrete Subbands using a tree-structured, octave-band QMF analysis filter bank. This process achieves two main goals:
-
Decorrelation: It separates the signal energy into different frequency bands, which are then processed independently.
-
Time-Frequency Resolution: It allows the codec to apply specific bit allocation and compression techniques tailored to the psychoacoustic properties of each frequency band.
2. Advanced Differential Coding (DPCM)
Compression is achieved within each subband using Advanced Differential Coding (DPCM) techniques. This method exploits the redundancy (correlation) inherent in the audio signal, particularly the strong correlation between adjacent samples in the same subband.
-
A linear predictor estimates the value of the current sample based on past samples.
-
Only the prediction residual (the difference), which is much smaller than the original sample value, is quantized and encoded.
-
The use of adaptive or contextual prediction ensures that the predictor adapts dynamically to the varying characteristics of the audio signal, minimizing the residual error.
3. Contextual Range Coding
The quantized prediction residuals are then compressed using Contextual Range Coding (a variant of arithmetic coding). This highly efficient entropy coding technique ensures maximum compression efficiency:
-
Range Coding: It assigns shorter codewords to more frequent symbols and longer codewords to less frequent symbols, approaching the theoretical Shannon limit for entropy.
-
Contextual Modeling: This is the key advanced feature. The probability model used by the Range Coder is not static; instead, it adapts based on the context of the surrounding symbols (e.g., the values of the previously encoded residuals). This dynamic modeling provides a more accurate probability estimation, resulting in superior compression ratios compared to standard DPCM or fixed entropy coding.
⚙️ Key Features of Version 0.80
| Feature | Description |
| Domain | Time Domain with subband filtering. |
| Subbands | Division into 8 QMF subbands. |
| Quantization | Advanced DPCM (Differential Pulse-Code Modulation) exploiting intra-subband correlation. |
| Entropy Coding | Contextual Range Coding for highly efficient compression of residual data. |
| Joint Stereo | Support for Joint Stereo encoding (M/S encoding) to further reduce redundancy between channels. |
| Delay Management | Includes specific QMF Pre-roll procedures to manage filter delay and ensure symmetrical encoder/decoder operation. |
Usage:
Compression: adc c [options] <input.wav> <output.adc>
Decompression: adc d <input.adc> <output.wav>
Play: adc p <input.adc>
Options:
-q<val> set quality value (24 - 511 , default 64)
-j Enable Joint Stereo
-h High Quality mode (not implemented)
Example:
adc c -q64 -j input.wav out.adc
adc d input.adc out.wav
contact mail: miadebora@homail.it
Files
adc080.zip
Files
(182.1 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:82b328a605a7f64fd4d312c3803a2858
|
182.1 kB | Preview Download |
Additional details
Dates
- Submitted
-
2025-12-07v.080