Обнаружение тишины в полезной нагрузке RTP

У меня проблема с инфраструктурой ToIP на основе Asterisk. Иногда мой телефон получал «пустой» RTP (полезная нагрузка полностью заполнена 5d).

Я просматривал RFC (3551, 3389) и не могу найти / понять соответствующие ответы.

Я обнаружил, что две веб-страницы с та же проблема, что и у меня:

https://www.wireshark.org/lists/ethereal-users/200402/msg00142.html

http://www.giacomovacca.com/2013/05/the-sound- of-silent-encoded-with-g711.html

Итак:

  • Кто-нибудь знает, где официальный ответ?
  • Кто решил, что заполнение 0x55 или 0xd5 не будет звучать?
  • Кроме того, кто мог объясните мне, почему 0x55 или 0xd5 составляют 0?

Спасибо!

1
задан 21 April 2016 в 12:33
1 ответ

Это происходит из процедуры PCM аудиокодека G.711.

G.711 определяет два логарифмических кодека, используемых для аудиоданных PCM (импульсно-кодовая модуляция): a-law и u-law. Алгоритмы кодеков основаны на перцептивных свойствах человеческого уха - слабые сигналы маскируются сильными.

После сжатия (от 14-битной выборки по u-закону и 13-битной выборки по a-закону) до 8 бит, последний 7 бит, кроме инвертированного бита знака. Неинвертированный бит называется битом знака . Эта инверсия битов увеличивает плотность битов в системах передачи, что помогает схемам восстановления синхронизации и тактовой частоты в приемнике.

Идеальный шум канала заставляет биты переключаться между 01111111 (0x7F) и 11111111 (0xFF) по u-закону и между 01010101 (0x55) и 11010101 (0xD5) по a-закону. Обычно мы используем кодирование по закону А.

В спецификации кодека отрицательные звуковые образцы дополняются единицами для выравнивания динамических диапазонов положительных и отрицательных чисел. Сжатые отрицательные и положительные значения одинаковой величины различаются знаковым битом.

Более подробное описание с примерами PCM вы можете прочитать там

Также вы можете прочитать спецификацию .

.
3
ответ дан 3 December 2019 в 18:35

Теги

Похожие вопросы