Codec Freedom -- Specifications -- G.726 bit-insertion mode
G.726 compresses PCM signals by predicting how it will develop in the future, and communicating the difference. This difference can be summerised in less bits than used for G.711, so there are spare bits.
When used as a streaming codec, there is an interrupted flow of output, with a sample rate of 8000 Hz. To avoid introducing paketization delay, this mode is supported in bit-insert mode; however, a recipient MUST be prepared to accept G.726 in bit-insertion mode as well as packet mode.
The G.726 codec requires more bandwidth than available for CSD, so it only makes sense to define over G.711 lines; the format of the various forms are then as follows:
G.726 | data | G.726+data | G.726 bandwidth |
---|---|---|---|
xxxxx | zzz | xxxxxzzz | 40 kbit/s |
xxxx | zzzz | xxxxzzzz | 32 kbit/s |
xxx | zzzzz | xxxzzzzz | 24 kbit/s |
xx | zzzzzz | xxzzzzzz | 16 kbit/s |
Note that distorted values MUST NOT be sent; when such values would almost be sent, a low bit of data is removed and substituted with a more suitable value, and so on, until no distorted value results.
In the practice of distortion on G.711 lines, the only bit that may need to be removed is the lowest bit; and its value is corrected by inverting it.