Интернет-кодек с низкой скоростью передачи данных
Интернет-кодек с низкой скоростью передачи данных (iLBC) | |
---|---|
Расширение файла : |
.lbc
|
Тип MIME : | аудио / iLBC |
Магический номер : | '#! iLBC30 \ n' или '#! iLBC20 \ n' |
Разработано: | Глобальные IP-решения |
Актуальная версия: | Декабрь 2004 г. |
Тип: | Голосовой кодек |
Стандарт (ы) : | RFC 3951 |
Веб-сайт : |
Страница больше не доступна , поиск в веб-архивах: webrtc.org ) исторический: http://ilbcfreeware.org/ |
(
Интернет Low Bitrate Codec ( Ilbc ) является открыто документировано, безвозмездным речевым кодеком , который был разработан Global IP Solutions (GIPS). Он отличается от старых кодеков, в частности, тем, что был специально разработан для сетей передачи данных с коммутацией пакетов, таких как Интернет, и поэтому очень хорошо справляется с потерей пакетов и джиттером . Поэтому iLBC особенно подходит для VoIP .
характеристики
Кодек iLBC, указанный в RFC 3951, является узкополосным кодеком, то есть он записывает частоты до 4000 Гц. Стандарт определяет вариант с длиной блока 30 мс и один с длиной блока 20 мс при частоте дискретизации 8 кГц и выборки глубиной 16 бит.
Блочно-независимое кодирование с линейным предсказанием
Инновация, лежащая в основе iLBC, - это блочно-независимый алгоритм кодирования с линейным предсказанием с контролируемой реакцией на потерю пакетов . Независимость от блоков означает, что каждый блок кодируется полностью независимо от предыдущих, и поэтому для правильного декодирования следующих блоков не требуется никакой информации из предыдущих блоков. Этого не было с ранее опубликованными кодеками сжатой речи, что приводит к ошибкам в результате потери пакетов в сетях передачи данных на основе пакетов, например Б. Интернет, продолжайте следующие блоки. С кодеком G.729 это приводит к Б. до глухих взрывных шумов со стороны ствольной коробки. Причина этого технического недостатка заключается в том, что эти кодеки предназначались для традиционной цифровой телефонной сети, основанной на виртуальных соединениях , в которой вообще не было возможности для потери блоков. Вот почему эти кодеки были разработаны только для защиты от битовых ошибок. Однако сети с коммутацией пакетов данных также совершенно иначе реагируют на битовые ошибки, чем виртуальные соединения в сетях с коммутацией каналов, поскольку отдельные пакеты получают контрольные суммы и просто отбрасываются и, при необходимости, повторно передаются, если обнаруживается битовая ошибка. Поэтому с появлением VoIP возникла необходимость в создании кодека, который отвечал бы этим новым техническим требованиям.
Кроме того, iLBC предлагает маскировку потери пакетов , такую как стандарт ITU -T G.711 , который основан на импульсной кодовой модуляции (PCM) и работает с фиксированной скоростью передачи 64 кбит / с. Замещающий сигнал генерируется для недостающей части аудиосигнала, который вычисляется из окружающих блоков.
Благодаря этим свойствам кодек iLBC обеспечивает относительно хорошее качество передачи голоса, даже если блоки данных отсутствуют из-за потери или задержки IP- пакетов.
Режимы
iLBC 30
В iLBC 30 каждый блок содержит аудиосигнал длительностью 30 мс или 240 отсчетов, которые закодированы в 399 битах данных плюс 1 пустой бит. Это соответствует 50 октетам или байтам на блок.
сеть | Общий RTP с IPv4 | Общий RTP с IPv6 | |
---|---|---|---|
Скорость передачи данных в кбит / с | 13,33 | 24 | 29,33 |
Это старший из двух вариантов iLBC.
iLBC 20
В iLBC 20 каждый блок содержит аудиосигнал длительностью 20 мс или 160 отсчетов, которые закодированы в 303 бита данных плюс 1 пустой бит. Это соответствует 38 октетам или байтам на блок.
сеть | Общий RTP с IPv4 | Общий RTP с IPv6 | |
---|---|---|---|
Скорость передачи данных в кбит / с | 15,2 | 31,2 | 39,2 |
Разработчики iLBC характеризуют iLBC 20, который младше iLBC 30, следующим образом:
«По сравнению с [...] режимом с размером кадра 30 мс, этот режим 15,2 кбит / с характеризуется: более высоким базовым качеством, более высокой устойчивостью к потере пакетов, меньшей сложностью и алгоритмической задержкой».
«По сравнению с режимом с длиной блока 30 мс, этот режим со скоростью 15,2 кбит / с имеет следующие свойства: более высокое базовое качество, большую устойчивость к потере пакетов, меньшую сложность и меньшую алгоритмическую задержку».
RTP-сигнализация режимов
Типичный протокол передачи потоков данных в Интернете - RTP . Помимо прочего, он используется для VoIP с SIP. Чтобы согласовать по всему пути передачи, какие форматы данных доступны или разрешены участниками вызова и на серверах, отдельные точки сообщают об этом в области данных заголовка SIP как предложение SDP . Если предпочтительнее iLBC 20, это предложение SDP выглядит следующим образом :
a=rtpmap:109 iLBC/8000 a=fmtp:109 mode=20
Если предпочтителен iLBC 30, применяется режим = 30 :
a=rtpmap:109 iLBC/8000 a=fmtp:109 mode=30
Если оба участника сеанса не могут прийти к согласию по определенному варианту, будет использован тот, который требует наименьшей пропускной способности. Итак, это будет режим = 30 .
Поскольку реализация обоих вариантов в клиенте VoIP или также в сервере VoIP часто оказывается затруднительной, часто реализуется только режим = 30 , а режим = 20 опускается.
Как блоки iLBC должны передаваться с помощью RTP, конкретно описано в RFC 3952 ( формат полезной нагрузки транспортного протокола реального времени (RTP) для речи кодека с низкой скоростью передачи данных (iLBC) ).
Лицензия
Первоначально процедура была доступна только в версии с плавающей запятой без лицензионных сборов . Для версии с арифметикой с фиксированной точкой, необходимой для микроконтроллеров и DSP с фиксированной точкой , стоимость лицензии должна была быть оплачена Global IP Solutions. В результате приобретения GIPS компанией Google Inc. процесс стал доступен всем без лицензионных сборов для неограниченного использования. Эталонная реализация распространяется как бесплатное программное обеспечение в соответствии с условиями лицензии, подобной BSD .
По сравнению с G.729A
- Базовое качество выше, чем у G.729A , более высокая устойчивость к потере пакетов
- Вычислительная сложность сопоставима с G.729A
- В отличие от бесплатной лицензии G.729a, используйте бесплатно
Смотри тоже
веб ссылки
- исторический сайт (англ.)
Индивидуальные доказательства
- ↑ ( страница больше не доступна , поиск в веб-архивах: информация о лицензии и продукте на iLBC )
- ↑ ( страница больше не доступна , поиск в веб-архивах: webrtc.org )