Импульсно-кодовая модуляция (PCM) голосовых частот | |
![]() | |
Статус | Действующий |
---|---|
Год начала | 1972 |
Последняя версия | (02/00). февраль 2000 г. |
Организация | ITU- T |
Связанные стандарты | G.711.0, G.711.1 |
Домен | сжатие звука |
Веб-сайт | https://www.itu.int/rec/ T-REC-G.711 |
G.711 - это узкополосный аудиокодек, первоначально разработанный для использования в телефонии, который обеспечивает качество звука платного качества со скоростью 64 кбит / с.. G.711 передает аудиосигналы в диапазоне 300–3400 Гц и дискретизирует их со скоростью 8 000 выборок в секунду с допуском на эту скорость 50 частей на миллион (ppm). Неравномерное (логарифмическое) квантование с 8 битами используется для представления каждой выборки, что приводит к скорости передачи 64 кбит / с. Существует две несколько разные версии: μ-law, который используется в основном в Северной Америке и Японии, и A-law, который используется в большинстве других стран за пределами Северной Америки.
G.711 - это стандарт ITU-T (рекомендация) для аудио компандирования под названием Импульсно-кодовая модуляция (ИКМ) речевых частот выпущен для использования в 1972 году. Это обязательный стандарт во многих технологиях, например в стандартах H.320 и H.323. Его также можно использовать для связи факса по IP-сетям (как определено в спецификации T.38 ).
Были опубликованы два усовершенствования G.711: G.711.0 использует сжатие данных без потерь для уменьшения использования полосы пропускания и G.711.1 повышает качество звука за счет увеличения пропускной способности.
G.711 определяет два основных алгоритма компандирования, алгоритм μ-закона и A-law алгоритм. Оба являются логарифмическими, но A-закон был специально разработан для упрощения обработки компьютером. Стандарт также определяет последовательность повторяющихся значений кода, которая определяет уровень мощности 0 dB.
. Алгоритмы μ-закона и A-закона кодируют 14-битные и 13-битные линейные PCM-выборки со знаком (соответственно) в логарифмические 8-битные выборки.. Таким образом, кодер G.711 будет создавать битовый поток 64 кбит / с для сигнала, дискретизированного с частотой 8 кГц.
μ-закон G.711 имеет тенденцию давать большее разрешение для сигналов с более высоким диапазоном в то время как A-закон G.711 обеспечивает больше уровней квантования при более низких уровнях сигнала.
Используются термины PCMU, G711u или G711MU для G711 μ-law и PCMA или G711A для G711 A-law.
A-law Таким образом, кодирование принимает 13-битный линейный аудиосэмпл со знаком в качестве входного и преобразует его в 8-битное значение следующим образом:
Линейный входной код. | Сжатый код. XOR 01010101 | Линейный выходной код. | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
s0000000abcdx | s000abcd | s0000000abcd1 | |||||||||||||||||||||||||
s0000001abcdx | s001abcd | s0000001abcd1 | |||||||||||||||||||||||||
s000001abcdxx | s010abcd | s10100cdbx | s010abcd | s10100000221abc>s10100000221abcd s0001abcdxxxx | s100abcd | s0001abcd1000 | |||||||||||||||||||||
s001abcdxxxxx | s101abcd | s001abcd10000 | |||||||||||||||||||||||||
s01abcdxxxxxx xxx | s110abcd | sc01cdxxxxx | s110abcd | sc229xx1 | sc27d100xx1 создается путем принятия представления входного значения с дополнением до двух и инвертирования всех битов после знакового бита, если значение отрицательное. Где Это можно рассматривать как число с плавающей запятой с 4 битами мантиссы m(эквивалентно 5-битной точности), 3 битами экспоненты eи 1 знаковый бит s, отформатированный как , которое представляет собой 13-битовое целое число со знаком в диапазоне от ± 1 до ± (2 - 2). Обратите внимание, что ни один сжатый код не декодируется до нуля из-за добавления 0,5 (половина шага квантования). Кроме того, стандарт определяет, что все результирующие четные биты (LSB четные) инвертируются перед передачей октета. Это должно обеспечить множество переходов 0/1 для облегчения процесса восстановления тактовой частоты в приемниках PCM. Таким образом, канал ИКМ, закодированный по закону A, имеет 8-битные выборки, закодированные как 0xD5 вместо 0x80 в октетах. Когда данные отправляются через E0 (G.703 ), MSB (знак) отправляется первым, а LSB отправляется последним. ITU-T STL определяет алгоритм декодирования следующим образом (он помещает декодированные значения в 13 старших битов 16-битного типа выходных данных). void alaw_expand (lseg, logbuf, linbuf) long lseg; короткий * линбуф; короткий * logbuf; {сокращение ix, mant, iexp; длинный п; for (n = 0; n < lseg; n++) { ix = logbuf[n] ^ (0x0055); /* re-toggle toggled bits */ ix = (0x007F); /* remove sign bit */ iexp = ix>>4; / * извлечь показатель * / mant = ix (0x000F); / * теперь получить мантиссу * / if (iexp>0) mant = mant + 16; / * добавить начало '1', если показатель степени>0 * / mant = (mant << 4) + (0x0008); /* now mantissa left justified and */ /* 1/2 quantization step added */ if (iexp>1) / * теперь сдвиг влево в соответствии с показателем * / mant = mant << (iexp - 1); linbuf[n] = logbuf[n]>127 / * инвертировать, если образец отрицательный * /? Mant: -mant; }} См. Также «Руководство пользователя библиотеки программных средств ITU-T 2009», которое можно найти по адресу. μ-lawμ-закон (иногда называемый ulaw, Кодирование G.711Mu или G.711μ) принимает 14-битный знаковый линейный аудиосэмпл в представлении с дополнением до двух как вход, инвертирует все биты после знакового бита, если значение отрицательное, добавляет 33 (двоичное 100001) и преобразует его в 8-битное значение следующим образом:
|