
G.711 is, by far, the most commonly supported voice companding algorithm used in telephony. It has become the de facto standard used to ensure interoperability in voice over Internet protocol (VoIP) applications. Compression is performed on a per sample basis with each uniformly quantized sample producing an 8-bit pulse code modulated (PCM) or companded value. In addition to companding, appendices have been added to the G.711 standard that allow telephony equipment to reduce network traffic by transmitting minimal data during periods of silence and to improve playback quality by synthesizing speech during periods when data has been lost or corrupted.
Adaptive Digital’s G.711 waveform coder is a bit exact implementation of the ITU G.711 PCM standard. Adaptive Digital’s G.711 coder converts between 8-bit mu-law (American standard) or a-law (European standard) companded values and 16-bit uniformly quantized values. Although many DSPs support G.711 conversion via hardware interface to TDM highways, it is often necessary to perform G.711 conversion in software, particularly when voice and signaling applications share a common line.
Unlike the G.711 companding standard, the two G.711 appendices are not bit-exact. As a result, not all implementations perform identically.
G.711 Appendix 1 (optional) is a highly effective algorithm for concealing lost packets of G.711 data. Voice signals are synthesized during the periods when data is unavailable for real-time playback. Using Adaptive Digital’s implementation of G.711 Appendix 1, speech remains intelligible even under conditions where up to 30% of the packets are lost.
G.711 Appendix 2 (optional) provides voice activity detection (VAD), discontinuous transmission (DTX), and comfort noise generation (CNG). When combined, these algorithms provide an efficient method for reducing packet bandwidth during portions of a conversation when no voice activity is present. During silence periods, only the bits necessary to model the background noise characteristics are transmitted. Adaptive Digital’s implementation of G.711 Appendix 2 characterizes background noise in terms of both amplitude and spectral content. By transmitting this information at a very low bit rate to the receive side of the link, the synthesizer at that end is able to recreate comfort noise that mirrors both the amplitude and spectral characteristics of the original background noise. By doing so, the synthesized signal achieves a seamless, natural sound during transitions between speech and quiet portions of a conversation.
Data sheet - .pdf
Mu-law and a-law support
ITU G.711 Compliant
Optional voice activity detection (VAD) with discontinuous transmission (DTX) and comfort noise generation (CNG) for bandwidth reduction
Robust packet loss concealment for improved voice quality during periods of missing packets
Multi-channel capable
Functions are C-callable
C64x xDM Compliant: ensures easy codec implementation and integration for DaVinci™ Technology
ADT G.711 is available on the TMS320™ DSP Family
C54x™DSP, C55x™DSP, & C64x™DSP Generations
ARM7 .pdf
All Memory usage is given in units of 16-bit word.
Function |
MIPS |
Program Memory |
Data Memory |
Per-Channel Data Memory |
Mu-law Encode |
0.4 |
-- |
-- |
-- |
Mu-law Decode |
0.1 |
-- |
-- |
-- |
A-Law Encode |
0.25 |
-- |
-- |
-- |
A-Law Decode |
0.1 |
-- |
-- |
-- |
G.711 Common/Tables |
-- |
136 |
512 |
-- |
G.711 Appendix 1 |
0.37 |
1490 |
49 |
836 |
VAD - G.711Appendix 2 |
3.2 |
4935 |
1447 |
434 |
CNG - G.711Appendix 2 |
1.3 |
877 |
181 |
210 |
Last update: 08/28/2003
All Memory usage is given in units of byte.
Function |
MIPS |
Program Memory |
Data Memory |
Per-Channel Data Memory |
Mu-law Encode |
0.14 |
-- |
-- |
-- |
Mu-law Decode |
0.07 |
-- |
-- |
-- |
A-Law Encode |
0.14 |
-- |
-- |
-- |
A-Law Decode |
0.07 |
-- |
-- |
-- |
G.711 Common/Tables |
-- |
260 |
1032 |
-- |
G.711 Appendix 1 |
0.27 |
2162 |
98 |
1680 |
VAD - G.711Appendix 2 |
2.9 |
10388 |
3464 |
1352 |
CNG - G.711Appendix 2 |
0.9 |
1942 |
682 |
568 |
Last update: 08/28/2003
All Memory usage is given in units of byte.
Function |
MIPS |
Program Memory |
Data Memory |
Per-Channel Data Memory |
Mu-law Encode |
0.05 |
-- |
-- |
-- |
Mu-law Decode |
0.02 |
-- |
-- |
-- |
A-Law Encode |
0.05 |
-- |
-- |
-- |
A-Law Decode |
0.02 |
-- |
-- |
-- |
G.711 Common/Tables |
-- |
1696 |
1024 |
-- |
G.711 Appendix 1 |
0.36 |
4990 |
98 |
1680 |
VAD - G.711Appendix 2 |
1.73 |
16032 |
1548 |
1628 |
CNG - G.711Appendix 2 |
0.44 |
3584 |
272 |
88 |
Last update: 02/27/2004
All Memory usage is given in units of 16-bit word.
Function |
Per Sample Cycles |
Program Memory |
Data Memory |
Per-Channel Data Memory |
Mu-law Encode |
29 |
-- |
-- |
-- |
Mu-law Decode |
13 |
-- |
-- |
-- |
A-Law Encode |
30 |
-- |
-- |
-- |
A-Law Decode |
13 |
-- |
-- |
-- |
G.711 Common/Tables |
0.23 |
356 |
1024 |
-- |
G.711 Appendix 1 |
1.3 |
22700 | 2886 |
3412 |
VAD - G.711Appendix 2 |
7.1 |
|||
CNG - G.711Appendix 2 |
1.1 |
Last update: 04/23/2008
G711_Encode( … ) Performs G.711 encode function
G711_Decode( … ) Performs G.711 decode function
G711ErasureInit(….) Initializes data structures for per channel packet loss concealment
G711A1Decode(….) Generates synthesized voice samples to cover missing data.
Vad_ADT_Init( … ) Initializes data structures for voice activity detection
Cng_ADT_Init( … ) Initializes data structures for comfort noise generation
Vad_ADT_Run( … ) Detects voice or silence and returns comfort noise parameters during silence periods
Cng_ADT_Run( … ) Generate comfort noise based upon received parameters
G711_ADT_initEnc( … ) Initializes data structures for appendices 1 and 2 encoding
G711_ADT_encode( … ) Encodes voice into PCM or comfort noise parameters
G711_ADT_initDec( … ) Initializes data structures for appendices 1 and 2 decoding
G711_ADT_decode( … ) Decodes PCM or comfort noise parameters for playout
SITE LINKS
HOMEVOCODERS
ADT 4800 ADT 9600 G.711 G.722 G.722.1 G.722.2 AMR-WB G.723.1 G.726 G.728 G.729, G.729 AB GSM AMR GSM FR LPC EVRC EVRC-B MELP MELPe SMV iLBCRELATED LINKS
G.168 NEC & LEC G.168 Lite G.168 EC CHIP 'C6424 G.168 EC CHIP 'C641x ACOUSTIC EC ACOUSTIC EC G2 LC IPP REFERENCE DESIGN DSP RESOURCE WIZARD