G.711

From Wikipedia, the free encyclopedia

G.711 is an ITU-T standard for audio companding. It is primarily used in telephony. The standard was released for usage in 1972.

G.711 represents logarithmic pulse-code modulation (PCM) samples for signals of voice frequencies, sampled at the rate of 8000 samples/second.

Contents

[edit] Types

There are two main algorithms defined in the standard, the µ-law algorithm (used in North America & Japan) and A-law algorithm (used in Europe and the rest of the world). Both are logarithmic, but A-law was specifically designed to be simpler for a computer to process. The standard also defines a sequence of repeating code values which defines the power level of 0 dB.

The µ-law and A-Law algorithms encode 14-bit and 13-bit signed linear PCM samples (respectively) to logarithmic 8-bit samples. Thus, the G.711 encoder will create a 64 kbit/s bitstream for a signal sampled at 8kHz.

[edit] G.711 A-Law

A-law encoding thus takes a 13-bit signed linear audio sample as input and converts it to an 8 bit value as follows:

Linear input code Compressed code
s0000000wxyza... s000wxyz
s0000001wxyza... s001wxyz
s000001wxyzab... s010wxyz
s00001wxyzabc... s011wxyz
s0001wxyzabcd... s100wxyz
s001wxyzabcde... s101wxyz
s01wxyzabcdef... s110wxyz
s1wxyzabcdefg... s111wxyz

Where s is the sign bit. So for example, 1000000010101111 maps to 10001010 (according to the first row of the table), and 0000000110101111 maps to 00011010 (according to the second).

This can be seen as a floating point number with 4 bits of mantissa and 3 bits of exponent.

In addition, the standard specifies that all resulting even bits are inverted before the octet is transmitted. This is to provide plenty of 0/1 transitions to facilitate the clock recovery process in the PCM receivers. Thus, a silent A-law encoded PCM channel has the 8 bit samples coded 0x55 instead of 0x00 in the octets (or 0xD5 if the sign bit happens to be set), and a silent μ-law encoded PCM has 0xFF in the 8 bit samples.

Note that the ITU define bit 0 to have the value 128 and bit 7 to have the value 1. (This is different from the more widely accepted convention where bit 7 = 128 and bit 0 = 1.)

Note that when data is sent over E0 (G.703), MSB (signbit) is sent first and LSB is sent last.

[edit] Features

[edit] References

[edit] See also

[edit] External links