G.711

редактировать
Рекомендация ITU-T
G.711
Импульсно-кодовая модуляция (PCM) голосовых частот
Pcm.svg
СтатусДействующий
Год начала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 повышает качество звука за счет увеличения пропускной способности.

Содержание

  • 1 Функции
  • 2 Типа
    • 2.1 A-law
    • 2.2 μ-law
  • 3 G.711.0
  • 4 G.711.1
  • 5 Лицензирование
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки

Характеристики

Типы

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

A-law Таким образом, кодирование принимает 13-битный линейный аудиосэмпл со знаком в качестве входного и преобразует его в 8-битное значение следующим образом:

Линейный входной код.Сжатый код. XOR 01010101Линейный выходной код.
s0000000abcdxs000abcds0000000abcd1
s0000001abcdxs001abcds0000001abcd1
s000001abcdxxs010abcds10100cdbxs010abcds10100000221abc>s10100000221abcd s0001abcdxxxxs100abcds0001abcd1000
s001abcdxxxxxs101abcds001abcd10000
s01abcdxxxxxx xxxs110abcdsc01cdxxxxxs110abcdsc229xx1sc27d100xx1 создается путем принятия представления входного значения с дополнением до двух и инвертирования всех битов после знакового бита, если значение отрицательное.
  • ^Знаковая величина представление
  • Где s- знаковый бит, s- его инверсия (т.е. положительные значения кодируются с помощью MSB = s= 1), а биты, помеченные x, отбрасываются. Обратите внимание, что в первом столбце таблицы отрицательные значения представлены иначе, чем в третьем столбце. Так, например, входное десятичное значение -21 после инверсии битов представляется в двоичном виде как 1000000010100, что соответствует 00001010 (согласно первой строке таблицы). При декодировании это отображается обратно на 1000000010101, что интерпретируется как выходное значение -21 в десятичном виде. Входное значение +52 (0000000110100 в двоичном формате) сопоставляется с 10011010 (согласно второй строке), которое снова отображается на 0000000110101 (+53 в десятичном формате).

    Это можно рассматривать как число с плавающей запятой с 4 битами мантиссы m(эквивалентно 5-битной точности), 3 битами экспоненты eи 1 знаковый бит s, отформатированный как seeemmmmс декодированным линейным значением y, заданным формулой

    y = (- 1) s ⋅ (16 ⋅ мин {е, 1} + м + 0,5) ⋅ 2 макс {е, 1}, {\ displaystyle y = (- 1) ^ {s} \ cdot (16 \ cdot \ min \ {e, 1 \ } + m + 0.5) \ cdot 2 ^ {\ max \ {e, 1 \}},}y = (- 1) ^ {s} \ cdot (16 \ cdot \ min \ { e, 1 \} + m + 0,5) \ cdot 2 ^ {\ max \ {e, 1 \}},

    , которое представляет собой 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-битное значение следующим образом:

    Линейное входное значение.Сжатый код. XOR 11111111Линейное выходное значение.
    s00000001abcdxs000abcds00000001abcd1
    s0000001abcdxxs001abcds0000001abcd10
    s000001abcdxxxs010abcds000001abcd100
    s00001abcdxxxxs011abcds0000 1abcdxxxxxs100abcds0001abcd10000
    s001abcdxxxxxxs101abcds001abcd100000
    s01abcdxxxxxxxs110abcd <2790000>sc229xxd>s110abcd <27900001000011011010001 <279000>sc229xxx1 создается путем взятия дополнения до двух представления входного значения, инвертирования всех битов после знакового бита, если значение отрицательное, и добавления 33.
  • ^Представление величины со знаком. Окончательный результат получается путем уменьшения величины этого значения на 33.
  • Где s- знаковый бит, а биты, отмеченные x, отбрасываются.

    Кроме того, стандарт определяет, что все биты результата инвертируются перед передачей октета. Таким образом, канал ИКМ, закодированный по μ-закону, имеет 8-битные отсчеты, закодированные как 0xFF вместо 0x00 в октетах.

    Добавление 33 необходимо, чтобы все значения попадали в группу сжатия и вычитались обратно при декодировании.

    Разбиение кодированного значения, отформатированного как seeemmmmна 4 бита мантиссы m, 3 бита экспоненты eи 1 бит знака s, декодированное линейное значение yзадается формулой

    y = (- 1) s ⋅ [(16,5 + m) ⋅ 2 e + 1 - 33], {\ displaystyle y = (- 1) ^ {s} \ cdot [(16,5 + m) \ cdot 2 ^ {e + 1} -33],}y = (- 1) ^ {s} \ cdot [(16,5 + m) \ cdot 2 ^ {e + 1} -33],

    , которое представляет собой 14-разрядное целое число со знаком в диапазоне от ± 0 до ± 8031.

    Обратите внимание, что 0 кодируется как 0xFF, а -1 кодируется как 0x7F, но при обратном декодировании результат в обоих случаях равен 0.

    G.711.0

    G.711.0, также известный как G.711 LLC, использует сжатие данных без потерь для сокращения использования полосы пропускания на 50 процентов. Стандарт G.711 со сжатием без потерь с импульсной кодовой модуляцией был одобрен ITU-T в сентябре 2009 года.

    G.711.1

    G.711.1 является расширением G.711, опубликованным как ITU -T Рекомендация G.711.1 от марта 2008 г. Его формальное название - широкополосное встроенное расширение для импульсной кодовой модуляции G.711.

    G.711.1, допускает добавление узкополосного и / или широкополосный (16000 выборок / с), каждое на уровне 25% от скорости передачи (включенного) базового потока G.711, что приводит к скорости передачи данных 64, 80 или 96 кбит / с.

    G.711.1 совместим с G.711 на скорости 64 кбит / с, следовательно, предполагается эффективное развертывание в существующих инфраструктурах передачи голоса по IP на основе G.711 (VoIP ). Кодер G.711.1 может кодировать сигналы с частотой 16 кГц с полосой пропускания 50–7000 Гц при 80 и 96 кбит / с, а для дискретизации 8 кГц выходной сигнал может генерировать сигналы с полосой пропускания от 50 до 4000 Гц, работая со скоростью 64 и 80 кбит / с.

    Кодер G.711.1 создает встроенный поток битов, структурированный на трех уровнях, соответствующих трем доступным скоростям передачи битов: 64, 80 и 96 кбит / с. Битовый поток не содержит никакой информации о том, какие уровни содержатся, реализация потребует внеполосной сигнализации о том, какие уровни доступны. К трем уровням G.711.1 относятся: логарифмически компандированная импульсная кодовая модуляция (ИКМ) нижней полосы, включая шумовую обратную связь, встроенное расширение ИКМ с адаптивным распределением битов для повышения качества базового уровня в нижней полосе и кодирование взвешенного векторного квантования верхняя полоса на основе модифицированного дискретного косинусного преобразования (MDCT).

    В 2010 году запланированы два расширения для G.711.1: сверхширокополосное расширение (полоса до 14000 Гц) и сжатие битового потока без потерь. 89>

    Лицензирование

    Срок действия патентов на G.711, выпущенный в 1972 году, истек, поэтому его можно использовать без лицензии.

    См. Также

    Ссылки

    1. ^ «G.711: Импульсно-кодовая модуляция (PCM) речевых частот». www.itu.int. Архивировано 17.06.2019 из оригинала. Проверено 11 ноября 2019 г.
    2. ^"Кодеки для видео / голоса / речи". Грандстрим =. Проверено 19 июля 2020 г.
    3. ^G.191: Программные инструменты для стандартизации кодирования речи и звука. Функция alaw_expandв файле Software / stl2009 / g711 / g711.c. Itu.int. Проверено 18 сентября 2013.
    4. ^G.191: ITU-T Software Tool Library 2009 Руководство пользователя. Itu.int (23 июля 2010 г.). Проверено 18 сентября 2013.
    5. ^ITU-T (17.07.2009). «Журнал новостей ITU-T - Голосовой кодек получает новое сжатие без потерь». Архивировано из оригинала 03.03.2016. Проверено 28 февраля 2010 г.
    6. ^ITU-T. «G.711.0: сжатие без потерь импульсной кодовой модуляции G.711». Проверено 28 февраля 2010 г.
    7. ^ Последние разработки в области кодирования звука / речи в ITU-T и будущие тенденции (PDF), август 2008 г., получено 28 февраля 2010 г.
    8. ^ ITU-T (2008) G.711.1: Широкополосное встроенное расширение для модуляции импульсного кода G.711 Проверено 19 июня 2009 г.
    9. ^Hiwasaki; и другие. (2008-08-25), G.711.1: широкополосное расширение к ITU-T G.711 (PDF), получено 2015-06-13
    10. ^Lapierre; и другие. (2008-08-25), Формирование шума во встроенном кодеке ITU-T G.711-Interoperable (PDF), получено 13.06.2015
    11. ^Исследовательский центр Nokia (2009-04-06), Стандарты кодирования (PDF), получено 01.03.2010

    Внешние ссылки

    Последняя правка сделана 2021-05-21 08:11:36
    Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
    Обратная связь: support@alphapedia.ru