G.711

From Free net 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 is a standard to represent 8 bit compressed pulse code modulation (PCM) samples for signals of voice frequencies, sampled at the rate of 8000 samples/second. G.711 encoder will create a 64 kbit/s bitstream.

There are two main algorithms defined in the standard, mu-law algorithm (used in North America & Japan) and a-law algorithm (used in Europe and the rest of the world). Both are logarithmic, but the later 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 equations are:

  • mu-law:
    y = ln(1 + ux) / ln(1 + u) with u = 255
  • A-law:
    y = Ax / (1 + ln A) for x <= 1/A where A = 87.6
    y = (1 + ln Ax) / (1 + ln A) for 1/A <= x <= 1

a-law encoding thus takes a 12 or 16 bit 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 1 bits to clock 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, and a Silent u-law encoded PCM has 0xFF in the 8 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.

References

  • ITU-T Recommendation G.711 - (STD.ITU-T RECMN G.711-ENGL 1989)

See also

External links

fr:G.711 pl:G.711