G.729

G.729 - это аудиокодек (на самом деле вокодер , кодер голоса, см. Параметрическое кодирование звука ) , который с начала 2017 года освобожден от лицензионных сборов за сжатие речи в цифровые сигналы. Техническое название - " Линейное предсказание с возбуждением алгебраическим кодом сопряженной структуры " ( CS-ACELP ). Приложения A и B G.729 используются для Интернет-телефонии , например, из-за их высокого уровня сжатия и низких требований к вычислениям .

Спецификации

G.729 - это гибридный метод сжатия, основанный на исследовании и передаче параметров речи с помощью так называемого вокодера, а также информации о различиях и последующем синтезе речи. Кодек разбивает аудиосигнал на кадры продолжительностью 10 миллисекунд, которые проверяются на типичные языковые свойства. Они вводятся в параметры для последующего синтеза. Кроме того, кодек передает информацию о различиях, возникающую в результате искусственно созданного и фактического сигнала. В голосовом пакете два кадра по 10 миллисекунд обычно передаются вместе, что означает, что задержка составляет около 25 миллисекунд.

Этот кодек может обрабатывать только аудиосигналы, которые не являются человеческим языком в качестве источников. Например, он не может адекватно обрабатывать многочастотные тоны, используемые в аналоговой телефонии . Здесь можно обойтись путем фильтрации многочастотных тонов из сигнала и передачи их по информационному каналу в соответствии с RFC 2833 («внеполосный»).

G.729 также подавляет паузы в речи. Чтобы это не походило на отключение для слушателя, декодер может заполнять паузы речи так называемым комфортным шумом . Стандарт включает возможные реализации как в формате с фиксированной запятой, так и в технически более сложном формате с плавающей запятой , что облегчает использование в различных сложных платформах DSP . По этим причинам G.729 требует сравнительно больших вычислительных ресурсов, в зависимости от используемого варианта; в зависимости от реализации и содержащихся в ней опций требуется около 50  MIPS . Варианты G.729A и G.729B имеют низкую вычислительную сложность и, например, в неоптимизированной эталонной реализации ITU-T на микроконтроллере MicroBlaze требуют около 10,3 миллионов тактовых циклов для 80 аудиосэмплов . Однако информация MIPS может отличаться от указанных значений в зависимости от используемой архитектуры и типа оптимизации и является лишь приблизительными ориентировочными значениями.

варианты

G.729 находится в различных вариантах в стандарте, разделенных приложениями (английские приложения ). Эти приложения помечены разными буквами и другими символами для их различения. В каждом приложении описываются различные возможные комбинации, которые различаются объемом реализации, требуемой вычислительной мощностью и функциональным объемом кодека. Для правильного декодирования кодер и декодер должны быть согласованы друг с другом.

В контексте G.729 доступны следующие варианты:

  Приложение
Функциональность - А. Б. С. Д. Э. Ф. г ЧАС Я. C + J
Низкая сложность   Икс Икс                  
Арифметика с фиксированной точкой Икс Икс Икс   Икс Икс Икс Икс Икс Икс   Икс
Арифметика с плавающей запятой       Икс             Икс  
Скорость передачи данных 8 кбит / с Икс Икс Икс Икс Икс Икс Икс Икс Икс Икс Икс Икс
Скорость передачи данных 6,4 кбит / с         Икс   Икс   Икс Икс Икс  
Скорость передачи данных 11,8 кбит / с           Икс   Икс Икс Икс Икс  
DTX     Икс       Икс Икс   Икс Икс  
Переменная скорость передачи данных                       Икс

Аббревиатура DTX означает прерывистую передачу на немецкую прерывистую передачу , в которой речевые паузы на стороне передатчика должны быть обнаружены и переданы в виде сигналов прерывания с экономией полосы пропускания, которые воспроизводятся на стороне приемника как локально генерируемый комфортный шум. По средней оценке мнения (MOS) G.729 получил воспринимаемое качество 3,98 балла из 5, тогда как вариант G.729A получил только 3,7 балла из 5.

Самыми популярными вариантами кодека являются приложения A и B, в которых используется фиксированная скорость передачи данных 8 кбит / с для кодированного речевого сигнала , но в некоторых вариантах также возможны фиксированные скорости передачи данных 6,4 кбит / с и 11,8 кбит / с. Частотный спектр находится в диапазоне от 300 до 3400  Гц , с концепцией кодирования только точная передача голосовых данных.

G.729.1 (G.729J)

Последнее расширение G.729J - этот вариант соответствует рабочему названию G.729.1 - имеет возможность широкополосного кодирования речи и звука: ширина полосы передаваемых частот была увеличена до диапазона от 50 Гц до 7 кГц. Кодек G.729J организован иерархически, и конкретная скорость передачи данных и, следовательно, качество голоса / звука могут быть установлены на переменные скорости передачи данных путем простого «обрезания» потока битов.

Качество голоса в сравнении

Для сравнения качества передачи можно использовать метод средней оценки мнения (MOS), который регистрирует субъективное восприятие качества речи пользователя (в ситуации слуха). Шкала MOS не является абсолютной шкалой, но зависит от соответствующего вопроса и образцов прослушивания, предлагаемых в так называемом тесте слуха. Таким образом, один и тот же кодек может достигать разных значений в разных тестах. Однако важна разница между тестируемым кодеком и известными эталонными кодеками (например, BG711). В типичных тестах G.729 достигает значения примерно 3,9 (по пятибалльной шкале MOS). Таким образом, G.729 обеспечивает более высокое субъективное качество голоса, чем другие кодеки (например, BG728 и G.723), но подчиняется эталонному кодеку G.711 (ISDN). G.711 обеспечивает немного более высокое значение MOS, примерно 4,4, но требует скорости передачи данных 64 кбит / с, что в восемь раз выше, чем G.729, для которого требуется всего 8 кбит / с.

Накладные расходы при использовании RTP в сети IPv4

Упомянутая скорость передачи данных 8 кбит / с является номинальной, она относится исключительно к самим аудиоданным.Если поток данных теперь пересылается через сеть, есть также накладные расходы на коммутационные данные для пакетов данных, в которые упакован поток данных. При использовании RTP в сети IPv4 это 40 байтов на пакет данных IPv4 (60 байтов для IPv6). Длина кадра для G.729 составляет 10 мс, и такой кадр кодируется 10 байтами. Обычно на пакет данных IPv4 отправляется 2 кадра. Следовательно, с этой настройкой вам фактически потребуется 60 байтов (40 + 10 + 10 байтов) для 20 мс голосовых данных. Это 3000 байтов в секунду, то есть 24 кбит / с (3000 байтов * 8/1000 = 24 кбит). Если вы упаковываете более 2 кадров в один пакет, относительная доля IP-данных падает и накладные расходы уменьшаются. С 3 кадрами на пакет вам потребуется всего 18,7 кбит / с. Однако недостатком является более длительная задержка: если она составляет 25 мс с 2 кадрами на пакет (10 мс на кадр + время обработки 5 мс), это уже 35 мс с тремя кадрами. Если задержка становится слишком большой, это может раздражать пользователей.

Кадры /
пакет IPv4
мс /
пакет
Байт / пакет
номинальный
Байт / пакет
эффективно
Пакетов /
сек
кбит / с
номинально
кбит / с
эффективный
Накладные расходы
%
Задержка
мс
1 10 10 50 100,0 8-е 40,0 400.00 15-е
2 20-е 20-е 60 50,0 8-е 24,0 200.00 25-е
3 30-е 30-е 70 33,3 8-е 18,7 133,33 35 год
4-й 40 40 80 25,0 8-е 16.0 100.00 45
5 50 50 90 20,0 8-е 14,4 80.00 55
Шестой 60 60 100 16,7 8-е 13,3 66,67 65
7-е 70 70 110 14,3 8-е 12,6 57,14 75
8-е 80 80 120 12,5 8-е 12.0 50.00 85
9 90 90 130 11.1 8-е 11,6 44,44 95
10 100 100 140 10.0 8-е 11.2 40.00 105

набухать

  • ITU-T G.729 - Стандарт включает полную эталонную реализацию ITU-T на языке C для всех вариантов G.729.

Индивидуальные доказательства

  1. https://www.mgraves.org/2017/03/its-official-the-patents-on-g-729-have-expired/
  2. Рассел Кляйн, Раджат Муна: Миграция программного обеспечения на аппаратное обеспечение на ПЛИС . Индийский технологический институт Канпур, 2005 г. ( iitk.ac.in [PDF]).
  3. Рекомендация G.729, Кодирование речи со скоростью 8 кбит / с с использованием линейного предсказания с возбуждением алгебраическим кодом сопряженной структуры (CS-ACELP) . ITU-T, 2007 (СЕРИЯ G: СИСТЕМЫ И СРЕДСТВА ПЕРЕДАЧИ, ЦИФРОВЫЕ СИСТЕМЫ И СЕТИ - Цифровое оконечное оборудование - Кодирование аналоговых сигналов методами, отличными от PCM).