Методы кодирования голосовой информации Обзор кодеков, используемых в VoIP-телефонии
Когда вы совершаете голосовые- или видео- звонки через интернет посредством технологии VoIP, ваш голос преобразуется в цифровые данные посредством кодеков, для того, чтобы быть переданными вашему собеседнику, и ими же декодируется, для того, чтобы ваш собеседник мог слышать вас. Процесс кодирования данных связан с их сжатием, так размер данных непосредственно влияет на скорость их доставки […]
Когда вы совершаете голосовые- или видео- звонки через интернет посредством технологии VoIP, ваш голос преобразуется в цифровые данные посредством кодеков, для того, чтобы быть переданными вашему собеседнику, и ими же декодируется, для того, чтобы ваш собеседник мог слышать вас. Процесс кодирования данных связан с их сжатием, так размер данных непосредственно влияет на скорость их доставки и качество звонка. В идеальном случае, кодеки должны обеспечивать высокое качество связи вкупе с эффективным использованием пропускной способности интернет-канала. Говоря другим языком, кодеки, это инструмент, который вместе с пропускной способностью сети позволяют получить высокое качество связи.
Существует несколько разновидностей кодеков, используемых для передачи голосовой информации. Все они имеют набор уникальных характеристик, которые определяют их применение в той или иной ситуации или на той или иной платформе. Кодеки различаются по качеству звука, требуемой пропускной способности, вычислительным требованиям и т. д.
Каждый сервис, программа, телефон, шлюз, обычно поддерживают несколько разных кодеков, и при взаимодействии друг с другом согласовывают, какой кодек они будут использовать.
Существует несколько классификаций кодеков по различным параметрам, таким как используемая математическая модель, тип исходной информации, оказываемая нагрузка на процессор. Но в данной статье, мы произведем обзор кодеков с точки зрения обеспечения качества связи, как наиболее важного параметра уровня приложения.
По качеству связи все кодеки можно разделить на две категории: узкополосные и широкополосные. Широкополосные кодеки работают на частоте дискредитации 16/32 КГц. Это дает возможность уменьшить задержку при передаче звука и повысить его четкость. Использование широкополосных кодеков иногда называют HDVoIP. Разница для конечного пользователя между узкополосными и широкополосными кодеками примерно такая же, как между старым черно-белым телевизором и цифровым HDTV.
Ниже приведен список узкополосных и широкополосных кодеков:
Узкополосные кодеки:
- iLBC
- MELP/MELPe
- G.711
- G.726
- G.728
- G.729/G.729A/G.729B
- GSM speech codecs
- GSM 06.10 Full Rate
- GSM 06.20 Half Rate
Широкополосные кодеки:
- G.722/G.722.1/G.722.2
- Speex
- Opus
- GSM Wideband AMR-WB (ETSI TS 126.171)
Далее мы рассмотрим подробно в отдельности наиболее используемые на практике, версии кодеков.
Узкополосные кодеки
iLBC (internet Low Bitrate Codec) — обеспечивает высокое качество связи в узкополосных каналах связи и скорость передачи голоса до 13.33 кбит/с при размере кадра в 30 мс или до 15.20 кбит/с при размере кадра 20 мс. Высокой нагрузки на аппаратные ресурсы iLBC не оказывает. Использование кодека не требует наличия каких-либо лицензий. Данный кодек используется такими продуктами, как Ekiga, Google Talk, Skype.
MELP и MELPe — кодек, применяемый Минестерством обороны США, как основной. Он интересен тем, что позволяет обеспечивать высокое качество связи при очень низкой требовательности к процессору и питанию и высокой скорости передачи. Данный кодек помехоустойчив и шумоустойчив.Скорость передачи данных составляет 2400 бит/с у MELP (600 бит/с MELPe).
G.711 — старейший, из используемых в настоящее время кодеков. Он был разработан так давно, что действие его патентов уже истекло. Он разрабатывался еще в 1972 году и требования к телефонным сетям с тех времен заметно изменились, как и сама телефония.Он обеспечивает скорость передачи данных всего в пределах 64 kbit/s (кадрами по 8 bit), но и совершенно не требователен к аппаратным ресурсам. Кодек использует математические алгоритмы μ-law и A-law для сжатия потока. Версия G.711.1 данного кодека уже позволяет использовать широкополосное подключение к сети.
G.726 — кодек, применяемый в большинстве DECT-телефонов. Наиболее часто использует полосу со скоростью 32 kbit/s. Обеспечивает высокое качество передачи голоса.
G.729 — некогда коммерческий кодек, срок действия патентных лицензий на который уже истек. Обеспечивает эффективное сжатие и высокое качество кодирования. Является весьма распространенным и поддерживается большим количеством платформ. Необходимая полоса пропускания всего 8 kbit/s. Но к сожалению, за высокое качество звука приходится расплачиваться высокими требованиями к процессору. Существуют версии данного кодека, известные под названиями Annex A (менее ресурсоемкая модификация) и Annex B (в данной модификации во время пауз в разговоре останавливает передачу данных).
GSM 06.10 Full Rate — кодек, который обеспечил развитие GSM-связи. Он не предоставлял высоких показателей качества голоса, но это покрывалось возможностью работы на маломощных мобильных устройствах начала 1990-х годов.Существует также версия GSM 06.20 Half Rate, которая позволяет экономить заряд батареи вдвое снизив скорость передачи.
Широкополосные кодеки
G.722 — один из первых широкополосных кодеков, получивших широкое распространение. Поддерживает передачу данных со скоростью до 64 kbit/s. Был разработан в далеком 1989 году и в настоящее время сильно устарел. Версии G.722.1 и G.722.2 используют более низкие скорости передачи данных для повышения качества звука. G.722.2 используется в GSM-сетях для обеспечения технологии HD-voice.
Speex — кодек, который изначально разрабатывался с целью обеспечить высокое качество связи при низком битрейте. Данный кодек позволяет снижать частоту дискредитации и битрейт в зависимости от условий сети. Speex не чувствителен к потерям пакетов, но является чувствительным к различным искажениям звука. Данный кодек не имеет лицензионных ограничений. Поддержка Speex реализована в Ekiga, LinPhone и Asterisk.
Opus — открытий кодек, предназначенный для использования в приложениях, реализующих передачу голоса в реальном времени. Opus, как и Speex позволяет динамически изменять битрейт и частоту дискредитации. Ключевой особенностью Opus является очень быстрое кодирование и высокая степень компрессии. Opus используется в таких продуктах, как Telegram и YouTube (для кодирования аудио дорожек к видеозаписям).
Работа с кодеками в Asterisk
Определить используемые вашим Asterisk кодеки вы можете используя комманду:
asterisk -rx 'core show translation'
список всех поддерживаемых кодеков можно вывести командой:
asterisk -rx 'core show codecs'
Для того, чтобы установить тот или иной кодек в Asterisk, необходимо поместить его модуль в каталог /usr/lib/asterisk/modules (либо /usr/local/lib/asterisk/modules, /var/lib/asterisk/modules), а затем в консоли Asterisk выполнить его загрузку командой:
>module load codec_******.so
Чтобы модуль загружался каждый раз при старте Asterisk, его необходимо прописать в файл /etc/asterisk/modules.conf
load => codec_******.so
Остались вопросы?
Я - Першин Артём, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.
категории
- DECT
- Linux
- Вспомогательный софт при работе с Asterisk
- Интеграция с CRM и другими системами
- Интеграция с другими АТС
- Использование Elastix
- Использование FreePBX
- Книга
- Мониторинг и траблшутинг
- Настройка Asterisk
- Настройка IP-телефонов
- Настройка VoIP-оборудования
- Новости и Статьи
- Подключение операторов связи
- Разработка под Asterisk
- Установка Asterisk
VoIP оборудование
ближайшие курсы
Новые статьи
10 доводов в пользу Asterisk
Распространяется бесплатно.
Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.
Безопасен в использовании.
Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.
Надежен в эксплуатации.
Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.
Гибкий в настройке.
Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.
Имеет огромный функционал.
Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.
Интегрируется с любыми системами.
То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.
Позволяет телефонизировать офис за считанные часы.
В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.
Отличная масштабируемость.
Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.
Повышает управляемость бизнеса.
Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.
Снижает расходы на связь.
Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.