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 2 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.