G.729 — это свободный от уплаты роялти [1] узкополосный алгоритм сжатия аудиоданных на основе вокодера с использованием длины кадра 10 миллисекунд. Он официально описывается как Кодирование речи со скоростью 8 кбит/с с использованием кодового линейного предсказания речи (CS-ACELP) и был представлен в 1996 году. [2] Широкополосное расширение G.729 называется G.729.1 , что эквивалентно G.729 Annex J.
Из-за низких требований к полосе пропускания G.729 в основном используется в приложениях передачи голоса по интернет-протоколу (VoIP), когда полоса пропускания должна быть сохранена. Стандартный G.729 работает на скорости передачи данных 8 кбит/с, но расширения обеспечивают скорости 6,4 кбит/с (Приложение D, F, H, I, C+) и 11,8 кбит/с (Приложение E, G, H, I, C+) для худшего и лучшего качества речи соответственно.
G.729 был расширен различными функциями, обычно обозначаемыми как G.729a и G.729b:
Двухтональная многочастотная сигнализация (DTMF), факсимильные передачи и высококачественный звук не могут надежно передаваться с помощью этого кодека . DTMF требует использования именованных событий телефонии в полезной нагрузке RTP для цифр DTMF, тонов телефонии и сигналов телефонии, как указано в RFC 4733.
G.729a — это совместимое расширение G.729, но требующее меньшей вычислительной мощности. Однако эта меньшая сложность влечет за собой незначительное снижение качества речи.
G.729a был разработан консорциумом организаций: France Télécom , Mitsubishi Electric Corporation , Nippon Telegraph and Telephone Corporation (NTT) .
Характеристики G.729a:
Некоторые VoIP-телефоны неправильно используют описание "G729a/8000" в SDP (например, это касается некоторых телефонов Cisco и Linksys). Это неправильно, поскольку G729a является альтернативным методом кодирования звука, но по-прежнему генерирует данные, декодируемые как G729, так и G729a, т. е. нет никакой разницы в плане согласования кодеков. Поскольку SDP RFC позволяет переопределять статические типы полезной нагрузки текстовым описанием rtpmap, это может вызвать проблемы при звонках с этих телефонов на конечные точки, соответствующие RFC, если только кодек не переименован в их настройках, поскольку они не распознают "G729a" как "G729" без специального обходного пути для этой ошибки.
G.729 был расширен в Приложении B (G.729b), которое обеспечивает метод сжатия тишины , который позволяет использовать модуль обнаружения голосовой активности (VAD). Он используется для обнаружения голосовой активности в сигнале. Он также включает модуль прерывистой передачи (DTX), который принимает решение об обновлении параметров фонового шума для неречевых (шумных кадров). Он использует 2-байтовые кадры дескриптора вставки тишины (SID), передаваемые для инициирования генерации комфортного шума (CNG). Если передача остановлена, и канал затихает из-за отсутствия речи, принимающая сторона может предположить, что канал был отключен. При вставке комфортного шума аналоговое шипение имитируется в цифровом виде во время тишины, чтобы гарантировать приемнику, что канал активен и работоспособен.
G.729 Annex J, поддерживаемый G.729.1 , обеспечивает поддержку широкополосной речи и звука. Представленный в 2006 году [3], он определяет широкополосное расширение с переменной скоростью передачи данных, используя до 12 иерархических слоев. Основной слой — это поток битов G.729 8 кбит/с, второй слой — это узкополосный слой расширения 4 кбит/с, а третий слой 2 кбит/с — это слой расширения полосы пропускания. Дальнейшие слои обеспечивают широкополосное расширение с шагом 2 кбит/с. G.729.1 использует трехэтапное кодирование: кодирование с встроенным кодовым возбуждением линейного предсказания (CELP) нижней полосы, параметрическое кодирование верхней полосы с помощью расширения полосы пропускания во временной области (TDBWE) и расширение полной полосы с помощью алгоритма предиктивного преобразования кодирования , называемого отменой наложения временной области (TDAC), также известного как кодирование с модифицированным дискретным косинусным преобразованием (MDCT). [3] Скорость передачи данных и получаемое качество регулируются простым усечением потока данных.
По состоянию на 1 января 2017 года срок действия большинства лицензированных патентов в рамках Консорциума G.729 истек, оставшиеся неистекшие патенты могут использоваться на безвозмездной основе. [5] G.729 включает патенты нескольких компаний, которые до истечения срока действия были лицензированы Sipro Lab Telecom, уполномоченным администратором по лицензированию интеллектуальной собственности для технологии G.729 и патентного пула . [6] [7] [8] [9]
AIM IP LLC, калифорнийская компания с ограниченной ответственностью, базирующаяся в Мишн-Вьехо , штат Калифорния [10], подала 17 исков о нарушении патентных прав [11] в Центральный окружной суд Калифорнии, обвинив 22 различные компании, включая Cisco Systems , Polycom и другие, в нарушении патента США № 5 920 853. [12] [13] Патент '853 был подан в Патентное и товарное ведомство США в 1996 году компанией Rockwell International . Изобретателями, указанными в патенте '853, являются Беньяссин Адил, Су Хуан-Ю и Шломот Эяль. [14]
В 2000 году патент '853 был передан компанией Rockwell International компании Conexant Systems , [15] американскому разработчику программного обеспечения и компании по производству полупроводников без собственных производственных мощностей, которая начиналась как подразделение Rockwell, а затем была выделена в отдельную публичную компанию . [16] В 2010 году компания Conexant Systems продала патент '853 компании AIM IP LLC, калифорнийской компании с ограниченной ответственностью, базирующейся в Мишн-Вьехо . [15]
Патент '853 содержит патентные притязания , которые охватывают таблицы поиска, используемые в G.729. Патент с тех пор истек и больше не действует из-за истечения срока его действия . [17]
G.729 присвоен IANA статический тип полезной нагрузки 18 для RTP . [ 18] Описание параметра rtpmap для этого типа полезной нагрузки — «G729/8000» .
Оба G.729a и G.729b используют то же самое описание rtpmap, что и G.729. G.729a и G.729b обозначаются с помощью Annexb=no или Annexb=yes соответственно. G.729 Annex B (G.729b) является значением по умолчанию при отсутствии параметра Annexb в протоколе описания сеанса . [19]
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь )