G.728 Audio Coder
G.728 compression standard toll quality vocoder
G.728 voice codec based on LD-CELP technology delivers toll-quality speech with ultra-low delay for VoIP, packet telephony, voice over cable, and real-time communications applications.
Platforms
Availability
| Platforms |
| Texas Instruments – TI TMS320C7000 C7x | TI TMS320C6000 C64x/C64x+/C66x/C674x | TI TMS320C5000 C55x / Legacy C54x |
Features
Functions are C-callable
Can be integrated with echo cancellers, VOX and tone detection/regeneration.
The encoder and decoder meet all ITU G.728 compliance and interoperability requirements.
Optional in-band synchronization available.
Adaptive Digital’s G.728 C54x is xdais compliant.
Description
G.728 Voice Codec
The Adaptive Digital Technologies G.728 Voice Codec is a real-time implementation of the ITU-T G.728 speech compression standard. Based on Low-Delay Code Excited Linear Prediction (LD-CELP) technology, it delivers toll-quality voice transmission with extremely low latency, making it ideal for VoIP, voice over cable, packet-based telephony, gateways, conferencing systems, and other real-time communications applications.
Designed for networks where delay is critical, the G.728 codec operates on short 2.5 ms speech frames, enabling fast processing and responsive voice communications. Its efficient compression algorithm reduces bandwidth requirements while maintaining clear, natural-sounding speech quality.
The Adaptive Digital Technologies G.728 implementation provides reliable real-time encoding and decoding for developers and equipment manufacturers building telecommunications, unified communications, embedded voice, and IP networking solutions. The codec is also specified within the H.320 video conferencing standard, making it suitable for multimedia and conferencing applications.
more
G.728 Continued…
The decoder also incorporates an adaptive post-filter to enhance performance for multiple transcodings. The post-filter function can be omitted for single coder-decoder operation to reduce the processing power required on the DSP. The Adaptive Digital G.728 software is DAIS compliant.
Unlike other low bit rate voice compression algorithms, G.728, when running at 16 kbps, is able to pass voice band modem signals at up to 2400 bits per second. G.728 is able to pass DTMF tones without an external bypass mechanism that is needed by most low bit rate vocoders.
G.728 Annex H: Variable bit rate LD-CELP which operates at 12.8 kbps, 9.6 kbps
This annex is intended to augment the performance of Recommendation G.728 by providing lower bit rate options in some specific applications, such as in those to be used with digital circuit multiplication equipment (DCME). G.728 Annex H enhances DCME by providing a balance between bit rate, voice quality, and delay that the other DCME codecs like G.723, G.729, and G.726 do not afford.
Specification Tables
NOTE: We specify MIPS (Millions of Instructions Per Second) as MCPS (Millions of Instruction Cycles Per Second). Unless otherwise specified, peak MIPS are indicated.
↓ Click on links below to view specification tables.
TI Processors
G.728 C64x / C64x+ / C66x / C674x | C7x
CPU Utilization & Memory RequirementsMemory usage is given in units of byte
| Function | MIPS 16000 | MIPS 12800 | MIPS 9600* | Program Memory | Scratch | Data Memory | Per-Channel Data Memory |
| Encode | 16.5 | 16.5 | 16.5 | 41024 | 412 | 2694 | 1488 |
| Decode* | 14.9 | 15.1 | 15.1 | 2144 |
G.728 C55x
CPU Utilization & Memory RequirementsMemory usage is given in units of byte
| Function | MIPS Average | MIPS Peak | Program Memory | Scratch Memory | Per-Channel Data Memory |
| Encode | 24.24 | 17.93 | 13152 | 492 | 1632 |
| Decode* | — | — | 2278 | ||
| Full Duplex* | 16.5 | 16.5 | 10874 | 3910 |
G.728 C54x
CPU Utilization & Memory RequirementsMemory usage is given in 16-bit word.
| Function | MIPS 16000 | MIPS 12800 | MIPS 9600* | Program Memory | Scratch | Data Memory |
| Encode | 24.24 | 19.66 | 17.93 | 41024 | 8.0K | 724 |
| Decode | 16.5 | 16.5 | 16.5 | 1057 |
API Functions
API function call summary
G728_ADT_initEnc(…);
G728_ADT_initDec(…);
G728_ADT_encode(…);
G728_ADT_decode(…);