7.6. Транспортировка и хранениеВидеокодек редко используется изолированно от других приложений и модулей. Обычно он является частью коммуникационной системы, в которой помимо кодированного видео имеется кодированное аудио и другая связанная с ними информация. Объединенные данные сохраняются и/или передаются в комбинированных цифровых потоках. Существует много способов комбинирования (мультиплексирования), передачи и хранения кодированных мультимедийных данных. В последние годы стало очевидным, что не существует единого транспортного решения, которое подходит каждому сценарию и для любых приложений. 7.6.1. Механизмы транспортировкиСтандарты MPEG-4 и Н.264 не предписывают в принудительном порядке какие-то механизмы транспортировки кодированных видеоданных. Однако имеется несколько возможных транспортных решений в зависимости от метода передачи, к которым относятся следующие подходы. Системы MPEG-2. Часть 1 стандарта MPEG-2 [42] описывает два метода мультиплексирования аудио, видео и связанной информации в цифровых потоках, подходящих для передачи (программные потоки или транспортные потоки). Каждый источник данных или элементарный поток (например, закодированная видео- или аудиопоследовательность) пакетируется в виде пакетированного элементарного потока PES (Packetised Elementary Stream). Пакеты PES от разных элементарных потоков мультиплексируются вместе для формирования программного потока (который обычно несет единственный набор данных аудио/видео, например, один телевизионный канал) или транспортного потока (который может содержать несколько каналов) (см. рис. 7.40). Транспортный поток использует коды Рида Соломона, а также схему сверточного кодирования, которые позволяют контролировать и исправлять ошибки, возникающие при передаче по ненадежным каналам. За хронометраж времени и синхронизацию отвечает специальная система временных отметок и штампов в последовательности пакетов. Поток данных MPEG-4 Visual может транспортироваться в виде элементарного потока с помощью программного или транспортного потока MPEG-2. Передача потока MPEG-4 Part 10/Н.264 по системам MPEG-2 осуществляется поправкой 3 к системам MPEG-2, которая находится в стадии стандартизации. Рис. 7.40. Транспортный поток MPEG-2. Рис. 7.41. Структура пакетов RTP (упрощенно). Протокол реального времени. RTP (Real-Time Protocol) [43] является протоколом пакетизации, который может применяться в сочетании с пользовательским датаграмным протоколом UDP (User Datagram Protocol) для передачи данных мультимедиа в реальном времени по сетям, которые работают по протоколу Интернета IP (Internet Protocol). Протокол UDP является более предпочтительным, чем протокол TCP (Transmission Control Protocol, протокол контроля передачи), для приложений реального времени, так как он обеспечивает малую латентность (задержку) при передаче данных по IP-сетям. Однако в нем нет механизма восстановления потерянных пакетов или синхронизации. Протокол RTP определяет структуру пакетов для данных реального времени (рис. 7.41), где имеется идентификатор типа (который сообщает тип использованного кодека при генерации данных), последовательный номер (необходимый для упорядочения пакетов, которые пребывают в произвольном порядке) и временной штамп (служащий для правильного представления времени при декодировании данных). Транспортировка кодированного аудио-, видеопотока по RTP вызывает пакетирование каждого элементарного потока в виде серий пакетов RTP, их перемежение и передачу по IP-сети (с использованием UDP в качестве базового транспортного протокола). Форматы загрузки данных RTP определяются для различных стандартов кодеков видео и аудио, включая MPEG-4 Visual и Н.264. Структура единицы NAL для Н.264 (см. гл. 6) была разработана с учетом эффективной дальнейшей пакетизации, так как каждый элемент NAL можно поместить в его собственный пакет RTP. Часть 6 протокола MPEG-4 определяет дополнительный протокол сессии, который называется Delivery Multimedia Integration Framework (основа для интегрированной доставки мультимедиа). Он поддерживает сессионное управление потоками данных MPEG- 4 (например, визуальными или звуковыми) через различные сетевые транспортные протоколы. Инструмент FlexMux (часть MPEG- 4 Systems) обеспечивает гибкий механизм с пониженной переполняемостью для совместного мультиплексирования различных элементарных потоков в единый, перемежающийся поток. Такой инструмент может оказаться полезным при мультиплексировании отдельных аудиовизуальных объектов до их пакетизации, например, в пакеты PES MPEG-2.
|