- •«Томский политехнический университет»
- •Е.С. Чердынцев мультимедийные сети
- •Глава 1. Введение в мультимедиа
- •1.1. Классификация мультимедиа
- •1.2. Текст
- •1.3. Звук
- •1.4. Графика и анимация
- •1.6.1. Характеристики реального времени (ограничения на задержки и нестабильность)
- •1.5. Видео
- •1.6. Требования к передаче мультимедиа по сетям
- •1.6.2. Требование высокой пропускной способности
- •1.6.3. Требования к ошибкам
- •1.6.4. Поддержка мультикаста
- •1.6.5. Управление сессиями
- •1.6.6. Безопасность
- •1.6.7. Поддержка мобильности
- •Глава 2. Поддержка распределенного мультимедиа трафика в Интернете
- •2.1. Поддержка трафика реального времени в Интернете
- •2.1.1. Задержки при обработке пакетов
- •2.1.2. Задержки при передаче пакетов
- •2.1.3. Задержка передачи
- •2.1.4. Задержки маршрутизации и обработки очередей
- •2.2. Требование высокой пропускной способности
- •2.3. Ошибки характеристик сети
- •2.4. Предлагаемые модели сервисов Интернет
- •2.4.1. Уточнение требований к сервисам и описанию трафика
- •2.4.2. Управление доступом
- •2.4.3. Управление трафиком
- •2.4.4. Классификация пакетов
- •2.4.5. Планирование пакетов
- •2.4.6. Потеря пакетов
- •2.4.7. Маршрутизация на основе QoS
- •2.5. Интегрированные сервисы
- •2.5.1. Классы гарантированного обслуживания
- •2.5.2. Сервис управления загрузкой
- •2.5.3. Сервис негарантированной доставки
- •2.5.4. Недостатки модели Intserv для Интернета
- •2.6. Дифферецированный сервис
- •2.6.1. Per Hop Behavior
- •2.7. Мультипротокольная коммутация по меткам
- •Глава 3. Расширение стека протоколов tcp/ip для поддержки функциональных требований распределенных мультимедийных приложений
- •3.1. Поддержка мультикаста
- •3.2. Управление сессиями
- •3.3. Безопасность
- •3.4. Мобильность
- •3.6. Session Initiation Protocol
- •Глава 4. Введение в rtp
- •4.1. Базовые принципы rtp
- •4.2. Стандартные элементы rtp
- •4.3. Связанные с rtp стандарты
- •Глава 5. Описание протокола rtp
- •5.1. Сессии rtp
- •5.2. Структура пакета rtp
- •5.3. Проверка качества пакета
- •5.4. Трансляторы и миксеры
- •Глава 6. Описание протокола rtсp
- •6.1. Компоненты rtcp
- •6.2. Передача пакетов rtcp
- •6.3. Формат пакетов rtcp
- •6.4. Безопасность и конфиденциальность
- •6.5. Проверка корректности данных
- •6.6. База данных участников сессии
- •6.7. Управление характеристиками времени
- •6.7.1. Отчетные интервалы
- •6.7.2. Базовые правила передачи
- •6.7.3. Процедура пересмотра вперед
- •6.7.4. Процедура пересмотра назад
- •6.7.5. Пересмотр пакетов bye
- •6.7.6. Общие проблемы реализации
- •Глава 7. Захват мультимедиа, проигрывание и управление характеристиками времени
- •7.1. Поведение отправителя
- •7.2. Захват мультимедиа и сжатие
- •7.2.1. Захват и сжатие звука
- •7.2.2. Захват и сжатие изображения
- •7.2.3. Использование предварительно записанной информации
- •7.3. Генерация пакетов rtp
- •7.3.1. Метки времени и модель времени rtp
- •7.3.2. Фрагментация
- •7.3.3. Заголовки, зависящие от формата данных
- •7.4. Поведение получателя
- •7.5. Получение пакетов
- •7.5.1. Получение пакетов данных
- •7.5.2. Получение управляющих пакетов
- •7.6. Буфер проигрывания
- •7.7. Декодирование, смешивание и проигрывание
- •7.7.1. Декодирование
- •7.7.2. Смешивание звука
- •Глава 8. Синхронизация звука и изображения
- •8.1. Поведение отправителя
- •8.2. Поведение получателя
- •8.3. Точность синхронизации
- •Глава 9. Компенсация ошибок
- •9.1. Компенсация потерь звука
- •9.1.1. Измерение качества звука
- •9.1.2. Замещение периодами тишины
- •9.1.3. Замещение шума
- •Глава 10. Исправление ошибок
- •10.1. Прямое исправление ошибок
- •Глава 11. Контроль перегрузок
- •11.1. Необходимость контроля перегрузок
- •10.1.1. Контроль четности
- •References
- •Multimedia networks
- •Published in author’s version
10.1.1. Контроль четности
Контроль четности является простейшим способом обнаружения и корректировки ошибок. Передаваемые данные преобразуются с помощью логической операции XOR:
0 XOR 0 = 0
1 XOR 0 = 1
0 XOR 1 = 1
1 XOR 1 = 0
На рис. 10.1 показан процесс восстановления данных.
Рис. 10.1. Контроль четности
Пакеты FEC могут передаваться и как отдельные потоки (рис. 10.2).
Рис. 10.2. Пакеты FEC в отдельном потоке
Формат пакетов FEC определен в соответствующих стандартах. Некоторые распространенные схемы проверки на четность представлены на рис. 10.3.
Рис. 10.3. Возможные схемы проверки на четность
10.1.2. Неравномерная защита от ошибок
Если данные содержат очень важную часть, то ее можно защитить с помощью неравномерной защиты от ошибок ULP (Unequal Layered Protection). Формат пакета RTP с такой защитой показан на рис. 10.4.
Рис. 10.4. Защита по схеме ULP
10.1.3. Коды Рида-Соломона
Коды Рида-Соломона преобразуют каждый блок данных с помощью коэффициентов полиномиального уравнения. Они меньше загружают каналы передачи, но требуют более сложной обработки.
10.1.4. Избыточное кодирование звука
Схема данного кодирования приведена на рис. 10.5.
Рис. 10.5. Избыточное кодирование звука
10.2. Кодирование канала
В этом случае для контроля качества передачи используется либо контрольная сумма пакетов UDP, либо частичная контрольная сумма. На рис. 10.6 приведен пример использования частичной контрольной суммы для пакетов данных в формате AMR.
Рис. 10.6. Пакет с частичной контрольной суммой
10.3. Повторная передача
Повторная передача является естественным вариантом корректировки ошибок передачи. Повторную передачу можно проводить с использованием канала RTCP, так как именно по нему приходит информация об ошибках передачи.
Стандартное описание RTCP имеет строгие правила управлением характеристиками времени. Профиль повторной передачи модифицирует эти правила, что приводит к кратковременным превышениям лимита передачи, хотя в целом скорость передачи остается прежней.
На рис. 10.7 представлены режимы повторной передачи.
Рис. 10.7. Режимы повторной передачи
Следует отметить, что использование различных схем коррекции ошибок приводит к повышению сложности алгоритмов работы как приложений-отправителей, так и приложений-получателей.
Глава 11. Контроль перегрузок
До сих пор мы предполагали, что можно направить мультимедийный поток с его естественной скоростью, и что случаи потери пакетов должны быть учтены. В реальной ситуации, однако, мультимедийный поток, скорее всего, делит сети с другими потоками и мы должны рассмотреть эту ситуацию.
11.1. Необходимость контроля перегрузок
Результаты перегрузки сети наглядно показаны на рис. 11.1.
Рис. 11.1. Перегрузка сети
Как видим, в результате перегрузки сети пересылка пакетов может упасть до нуля. Широкое вещание еще более усложняет проблему контроля перегрузки сети, так как отправителям приходится адаптировать передачу данных для большого количества пользователей, требования которых могут быть противоречивы.
Решение проблемы лежит в уровневом кодировании, когда отправитель разделяет передачу данных на несколько групп (уровней) широкого вещания, а получатели подсоединяются только к части доступных групп. Естественно, что такой подход требует и кодеков, которые могут работать с разными уровнями сети передачи. Пример такого кодирования приведен на рис. 11.2.
Рис. 11.2. Уровневое кодирование
