VOCAL’s G.726 vocoder software implements the ITU recommendation and is available as a standalone algorithm, as part of our modular software library, or with a VoIP stack for integration with user applications. The G.726 voice compression algorithm is optimized for leading DSPs with support for multi-channel applications. Our speech coder software may be licensed by developers as binary or source code with custom designs available to meet specific developer requirements.
G.726 Algorithm
G.726 makes a conversion of a 64 kbps A-law or μ-law pulse code modulation (PCM) channel to and from a 40, 32, 24 or 16 kbps channel. The conversion is applied to the PCM bit stream using an Adaptive Differential PCM (ADPCM) transcoding technique. The relationship between the voice frequency signals and the PCM encoding/decoding laws is fully specified for G.726 in Recommendation G.711.
G.726 Encoder
In the ADPCM encoder after the conversion of the A-law or μ-law PCM input signal to uniform PCM, a difference signal is obtained, by subtracting an estimate of the input signal from the input signal itself. An adaptive 31, 15, 7, or 4-level quantizer is used to assign five, four, three or two binary digits, respectively, to the value of the difference signal for transmission to the decoder. An inverse quantizer produces a quantized difference signal from these same five, four, three or two binary digits, respectively. The signal estimate is added to this quantized difference signal to produce the reconstructed version of the input signal. Both the reconstructed signal and the quantized difference signal are operated upon by an adaptive predictor which produces the estimate of the input signal, thereby completing the feedback loop.
G.726 Decoder
The ADPCM decoder includes a structure identical to the feedback portion of the encoder, together with a uniform PCM to A-law or μ-law conversion and a synchronous coding adjustment. The synchronous coding adjustment prevents cumulative distortion occurring on synchronous tandem codings (ADPCM-PCM-ADPCM, etc., digital connections) under certain conditions. The synchronous coding adjustment is achieved by adjusting the PCM output codes in a manner which attempts to eliminate quantizing distortion in the next ADPCM encoding stage.
Applications
The principal application of 24 and 16 kbps channels is for overload channels carrying voice in Digital Circuit Multiplication Equipment (DCME). The principal application of 40 kbps channels is to carry data modem signals in DCME, especially for modems operating at greater than 4800 kbps.
Features
- Compliant with G.726 specification
- Full and half duplex modes of operation
- Passes ITU test vectors
- Optimized for high performance on leading edge DSP architectures
- Multichannel implementation
- Multi-tasking environment compatible
Configurations
- DAA interface using linear codec at 8.0 kHz sample rate
- Direct interface to 8.0 kHz PCM data stream (A-law or μ-law)
- North American/International Telephony (including caller ID) support available
- Simultaneous DTMF detector operation available – (less than 150 hits on Bellcore test tape typical)
- MF tone detectors, general purpose programmable tone detectors/generators available
- Data/Facsimile/Voice Distinction available
- Common compressed speech frame stream interface to support systems with multiple speech coders
- Dynamic speech coders selection if multiple speech codecs available
- Can be integrated with G.168 Echo Canceller and Tone Detection/Regeneration modules
- Available with VoIP stack
Platforms
VOCAL’s G.726 vocoder software is available for the following platforms:
- Texas Instruments - C6000 (TMS320C62x, TMS320C64x, TMS320C645x, TMS320C67x, DaVinci), OMAP, C5000 (TMS320C54x, TMS320C55x)
- Analog Devices – Blackfin, ADSP-21xx, TigerSHARC, SHARC
- AMCC – PowerPC
- MIPS – MIPS32, MIPS64, MIPS4Kc
- ARM – ARM7, ARM9, ARM9E, ARM10E, ARM11, StrongARM, ARM Cortex-A8, Cortex-M1
- iPhone / iPad
- Android
- Atmel
- CEVA – Teak, TeakLite, Palm, Oak
- Microchip dsPIC
- AMD x86 (MMX) – AMD Geode SC1200
- Intel
- PowerQUICC – PowerQUICC Pro (83xx), PowerQUICC III (85xx) families
- Ikanos – Fusiv processors
- ARC Processor IP
- NXP Philips Trimedia – TM1000, TM1100, TM1300
- VeriSilicon (LSI Logic) ZSP
Please contact us for other supported platforms.
Operating Systems
VOCAL’s G.726 vocoder software is available for the following Operating Systems:
- Android
- iOS
- Unix, Linux, uClinux
- Microsoft Windows ACM / RTC / CE / Mobile
- Symbian,
- Mac OS
- BSD
- VxWorks
- Integrity
Please contact us for other supported Operating Systems.
Performance
- Audio Examples
- MIPS/memory requirements
- PSQM/PSQM+ values