Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

G.711 - это узкополосный аудиокодек, изначально разработанный для использования в телефонии и обеспечивающий качество платного звука со скоростью 64 кбит / с. G.711 передает аудиосигналы в диапазоне 300–3400 Гц и дискретизирует их со скоростью 8000 выборок в секунду с допуском на эту скорость 50 частей на миллион (ppm). Неравномерное (логарифмическое) квантование с 8 битами используется для представления каждой выборки, что приводит к скорости передачи 64 кбит / с. Есть две немного разные версии: μ-закон , который используется в основном в Северной Америке и Японии, и A-law , который используется в большинстве других стран за пределами Северной Америки.

G.711 - это стандарт (Рекомендация) ITU-T для компандирования звука под названием Импульсно-кодовая модуляция (ИКМ) голосовых частот, выпущенный для использования в 1972 году. Это обязательный стандарт во многих технологиях, таких как H.320 и H. .323 стандартов. [1] Его также можно использовать для факсимильной связи по IP-сетям (как определено в спецификации T.38 ).

Были опубликованы два усовершенствования G.711: G.711.0 использует сжатие данных без потерь для уменьшения использования полосы пропускания, а G.711.1 повышает качество звука за счет увеличения полосы пропускания.

Особенности [ править ]

Типы [ править ]

G.711 определяет два основных компандирование алгоритмов, в алгоритм μ-закон и алгоритм А-закон . Оба логарифмические , но А-закон был специально разработан, чтобы компьютер упростил обработку. Стандарт также определяет последовательность повторяющихся значений кода, которая определяет уровень мощности 0 дБ .

Алгоритмы μ-закона и A-закона кодируют 14-битные и 13-битные линейные выборки PCM со знаком (соответственно) в логарифмические 8-битные выборки. Таким образом, кодер G.711 будет создавать битовый поток 64 кбит / с для сигнала, дискретизированного с частотой 8 кГц. [1]

Μ-закон G.711 имеет тенденцию давать большее разрешение для сигналов с более высоким диапазоном, в то время как A-закон G.711 обеспечивает более высокие уровни квантования при более низких уровнях сигнала.

Используются термины PCMU, G711u или G711MU для μ-закона G711 и PCMA или G711A для A-закона G711. [2]

A-law [ править ]

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

  1. ^ Это значение получается путем взятия двух дополнительных представлений входного значения и инвертирования всех битов после знакового бита, если значение отрицательное.
  2. ^ Представление величины со знаком

Где 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, заданным формулой

которое представляет собой 13-битовое целое число со знаком в диапазоне от ± 1 до ± (2 12  - 2 6 ). Обратите внимание, что ни один сжатый код не декодируется до нуля из-за добавления 0,5 (половина шага квантования).

Кроме того, стандарт определяет, что все результирующие четные биты ( LSB четный) инвертируются перед передачей октета. Это должно обеспечить множество переходов 0/1 для облегчения процесса восстановления тактовой частоты в приемниках PCM. Таким образом, канал ИКМ, закодированный по закону A, имеет 8-битные отсчеты, закодированные как 0xD5 вместо 0x80 в октетах.

Когда данные отправляются через E0 ( G.703 ), MSB (знак) отправляется первым, а LSB отправляется последним.

ITU-T STL [3] определяет алгоритм декодирования следующим образом (он помещает декодированные значения в 13 старших битов 16-битного типа выходных данных).

void  alaw_expand ( lseg ,  logbuf ,  linbuf )  long  lseg ;  короткий  * линбуф ;  короткий  * logbuf ; {  Короткая  IX ,  MANT ,  iexp ;  длинный  п ; для  ( n  =  0 ;  n  <  lseg ;  n ++ )  {  ix  =  logbuf [ n ]  ^  ( 0x0055 ); / * повторно переключаем переключенные биты * / ix  & =  ( 0x007F ); / * удалить знаковый бит * /  iexp  =  ix  >>  4 ; / * извлечь экспоненту * /  mant  =  ix  &  ( 0x000F ); / * теперь получаем мантиссу * /  if  ( iexp  >  0 )  mant  =  mant  +  16 ; / * добавляем ведущую '1', если показатель степени> 0 * / мант  =  ( мант  <<  4 )  +  ( 0x0008 ); / * теперь мантисса  выровнена по левому краю и * / / * добавлен 1/2 шага квантования * /  if  ( iexp  >  1 ) / * теперь сдвиг влево согласно экспоненте * /  mant  =  mant  <<  ( iexp  -  1 ); linbuf [ n ]  =  logbuf [ n ]  >  127 / * инвертировать, если образец отрицательный * /  ?  мант  :  - мант ;  } }

См. Также «Руководство пользователя библиотеки программных средств ITU-T 2009», которое можно найти по адресу. [4]

μ-закон [ править ]

Кодирование по μ-закону (иногда называемое ulaw, G.711Mu или G.711μ) принимает на входе 14-битный линейный аудиосэмпл со знаком в дополнительном представлении до двух , инвертирует все биты после знакового бита, если значение отрицательное, добавляет 33 (двоичный 100001) и преобразует его в 8-битное значение следующим образом:

  1. ^ Это значение получается путем взятия двух дополнительных представлений входного значения, инвертирования всех битов после знакового бита, если значение отрицательное, и добавления 33.
  2. ^ Знаковое представление величины . Окончательный результат получается уменьшением величины этого значения на 33.

Где sстоит знаковый бит, а отмеченные биты xотбрасываются.

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

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

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

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

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

G.711.0 [ править ]

G.711.0, также известный как G.711 LLC, использует сжатие данных без потерь, чтобы уменьшить использование полосы пропускания на целых 50 процентов. [5] Lossless сжатие G.711 импульсно - кодовой модуляции стандарта был одобрен ITU-T в сентябре 2009 г. [6] [7]

G.711.1 [ править ]

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

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

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

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

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

Лицензирование [ править ]

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

См. Также [ править ]

  • Список кодеков
  • Сравнение форматов кодирования аудио
  • Профиль аудио-видео RTP
  • Формат файла Au

Ссылки [ править ]

  1. ^ a b c «G.711: Импульсно-кодовая модуляция (PCM) голосовых частот» . www.itu.int . Архивировано 17 июня 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 июля 2009 г.). "ITU-T Newslog - Голосовой кодек получает новое сжатие без потерь" . Архивировано 03 марта 2016 года . Проверено 28 февраля 2010 .
  6. ^ ITU-T. «G.711.0: сжатие без потерь модуляции импульсного кода G.711» . Проверено 28 февраля 2010 .
  7. ^ a b Последние разработки в области кодирования звука / речи в ITU-T и будущие тенденции (PDF) , август 2008 г. , получено 28 февраля 2010 г.
  8. ^ a b c ITU-T (2008) G.711.1: Широкополосное встроенное расширение для импульсной кодовой модуляции G.711 Проверено 19 июня 2009 г.
  9. ^ Хивасаки; и другие. (2008-08-25), G.711.1: широкополосное расширение до ITU-T G.711 (PDF) , получено 13 июня 2015 г.
  10. ^ Лапьер; и другие. (2008-08-25), Формирование шума во встроенном кодеке ITU-T G.711-Interoperable (PDF) , получено 13 июня 2015 г.
  11. ^ Nokia Research Center (06.04.2009), Стандарты кодирования (PDF) , получено 01.03.2010

Внешние ссылки [ править ]

  • Рекомендация МСЭ-Т G.711
  • Программные средства ITU-T G.191 для кодирования речи и звука, включая код G.711 C
  • Code Project C # реализация G.711 с исходным кодом
  • RFC 3551 - Профиль RTP для аудио- и видеоконференций с минимальным контролем - G.711 - Определение PCMA и PCMU.
  • RFC 4856 - Регистрация типа носителя аудио / PCMA и аудио / PCMU
  • RFC 5391 - Формат полезной нагрузки RTP для Рекомендации ITU-T G.711.1 (PCMA-WB и PCMU-WB)