Уровни мультиплексирования

Системы цифрового ТВ вещания, соответствующие различным между­народным стандартам, отличаются в основном уровнем адаптации к сети. На транспортном уровне механизмы обработки данных в известных сис­темах практически совпадают, поскольку все они основаны на алгорит­мах мультиплексирования и передачи служебной информации, описан­ных в стандарте MPEG-2. Транспортный уровень очень важен, так как создает универсальную многоцелевую систему, и его жесткая регламента­ция позволяет разрабатывать совместимые абонентские приставки, ис­пользовать в различных системах общие алгоритмы восстановления и представления информации. Субсистема мультиплексирования и транспортировки принимает цифровые потоки, представляющие данные, изоб­ражения, звуковые данные, дополнительные и служебные данные, фор­мирует их в управляемые пакеты, обеспечивает механизм индикации начала пакета (синхронизация), назначает каждому пакету соответству­ющий код идентификации (заголовок) и объединяет (мультиплексирует) пакеты в общий транспортный поток данных. Субсистема мультиплекси­рования и транспортировки является основой цифровой системы связи.

Групповой сигнал в системе цифрового телевидения формируется мультиплексированием потоков битов различных компонентов: видео- и аудиоданных и управления (сервисной информации). Процесс муль­типлексирования в системе может быть представлен как комбинация мультиплексирования на двух различных уровнях — программном и системном.

Аналоговые сигналы вещательных служб сначала коди­руются (как описано в ISO / IEC 13818-2 (колирование видео) и ISO / IEC 13818-3 (кодирование аудио) со сжатием данных в непрерывные, так называемые элементарные потоки битов (Elementary Stream, ES), которые могут иметь фикси­рованную или переменную скорость передачи данных. В общем случае перед мультиплексированием элементарные потоки ES, представляющие кодированные сигналы или данные из базы, а также поток битов управления преобразуются в промежуточные пакетированные элементарные потоки (Packetized Elementary Stream, PES), или PES-пакеты, т.е. потоки данных в виде больших пакетов переменной длины (достаточно большой длины – до 64 кбайт), они содержат заголовок и полезную нагрузку. В заголовке раз­мещаются данные сервисной информации SI. В полезной нагрузке PES-пакета байты данных элементарного потока ES содержатся в их есте­ственном порядке.Нет никаких требования по согласованию начала полезных данных пакета и начала блоков доступа, поэтому начало блока доступа может быть в любой точке PES-пакета, а несколько малых блоков доступа могут попасть в один PES-пакет. Длина PES-пакетов не фиксируется стандартом, так как данные пакеты не предназначены для использования в качестве самостоятельной единицы. Эту свободу можно использовать по-разному. Например, можно просто установить фиксированную длину всех пакетов, а можно согласовывать начало пакета с началом блока доступа. Формирование PES-потока из элементарного потока ES проиллюстрировано на рисунке 8.1

Рисунок 8.1 – Формирование PES потока

Каждый из индивидуальных потоков битов идентифицируется своим уникальным идентификатором пакета (Packet Identifier, PID). Поток битов управления мультиплексированием содер­жит таблицу структуры программы (Program Map Table, РМТ), кото­рая включает информацию об идентификаторах пакетов PID транспор­тных потоков, образующих программу, о приложениях, передаваемых посредством этих потоков, и о соотношениях между потоками PES-пакетов. Данные управления также структурируются в специальный PES-пакет, в полезной нагрузке которого размещается таблица РМТ.

Далее существуют две возможности мультиплексирования: формирование программного по­тока (Program Stream, PS) с длинными пакетами переменной длины и формирование транспортного потока (Transport Stream, TS) с коротки­ми пакетами фиксированной длины, что на рисунке 8.2 показано для некото­рой произвольной комбинации компонентов в виде аудио- и видеоданных. Эти две схемы мультиплексирования порождены различными задача­ми по обработке и передаче информации. Программные потоки содер­жат минимальную избыточность, обусловленную вводом данных уп­равления, и предназначены в основном для некоторых видов дополнительной программной обработки и для хранения массивов информации на носителях, для которых характерна весьма низкая вероятность ошибки, например, для записи на CD-ROM. При необходимос­ти поток PS может содержать всего один поток ES, т.е. может быть получен перекодированием без мультиплексирования.

Рисунок 8.2 Программное и транспортное мультиплексирование

в системах цифрового ТВ

При формировании программного потока образуются блоки из PES-пакетов. Блок содержит заголовок блока, системный заголовок (необязательный), за которым следует некоторое количество PES-пакетов. Длина блока программного потока может быть произвольной, единственное ограничение – заголовки блока должны появляться не реже, чем через 0,7 секунды. Это связано с тем, что в заголовке содержится важная информация – опорное системное время. Системный заголовок содержит информацию о характеристиках программного потока, таких, например, как максимальная скорость передачи данных, число видео и звуковых элементарных потоков. Формирование программного потока проиллюстрировано на рисунке 8.2. Декодер использует эту информацию, например, для того, чтобы решить, может ли он декодировать этот программный поток. Предназначен для использования в условиях окружения, не вносящего ошибки в цифровые данные. Причина этому – сравнительно большие блоки переменной длины. Искажения из-за ошибок одного блока могут означать потерю, например, целого кадра телевизионного изображения. Поскольку длина блока переменная, то декодер не может предсказывать время конца одного блока и начало другого и вынужден полагаться только на информацию о длине, содержащуюся в заголовке. Если соответствующее поле заголовка окажется пораженным ошибками, то декодер выйдет из синхронизма и потеряет, по крайней мере, один блок. К преимуществам, получаемым при использовании программного потока, можно отнести то, что процедура демультиплексирования программного потока относительно проста.

Рисунок 8.3 – Формирование программного потока

Транспортный поток может объединять пакетные элементарные потоки, переносящие данные нескольких программ с независимыми временными базами. Он состоит из коротких пакетов фиксированной длины (188 байтов). Элементарные потоки видео, звука и дополнительный данных (например, телетекст) разбиваются на фрагменты, равные по длине полезной нагрузке транспортного пакета (184 байта) и мультиплексируются в единый поток (рисунок 3.7). Этот процесс подчиняется ряду ограничений:

- Первый байт каждого PES-пакета элементарного потока должен быть первым байтом полеезной нагрузки транспортного пакета;

- Каждый транспортный пакет может содержать данные лишь одного PES-пакета.

Рисунок 8.4 – Формирование траспортного потока

Размер потока транспортного потока выбран для совместимости с широко применяемым на сетях связи стандартом асинхронной передачи данных АТМ.

Структура транспортного потока оптимизирована для условий передачи данных в каналах связи с шумами. Это проявляется, прежде всего, в небольшой длине пакетов. Типичные примеры защиты от ошибок данных транспортного потока дают системы цифрового телевизионного вещания. В системах DVB к 188 байтам каждого транспортного пакета добавляются 16 проверочных байтов кода Рида-Соломона, что позволяет исправлять в каждом пакете до 8 пораженных шумами байтов.

На втором, системном уровне мультиплексирования из нескольких транспортных потоков TS отдельных программ формируется единый системный поток транспортных пакетов многопрограммной системы цифрового вещания. Полная структурная схема формирования систем­ного потока транспортных пакетов, включая ввод дополнительных дан­ных, а также данных управления системой ограничения доступа (СОД), показана на рисунке 8.5.

Рисунок 8.5 – транспортное мультиплексирование с

формированием системного потока

Такой поток, передаваемый по одному физическо­му каналу сети вещания, называется мультиплексом. В процессе муль­типлексирования в состав транспортных пакетов, имеющих фиксиро­ванную длину 188 байт, вводится также поток битов управления (сервисной информации) системного уровня, для которого всегда PID=0. Этот поток в полезной нагрузке содержит таблицу взаимосвязи (ассо­циации) программ (Program Association Table, PAT), которая отража­ет идентичность программ и транспортных потоков программ, иденти­фицируемых своими PID, содержащимися в таблице РМТ отдельной программы.

На приемной стороне системный транспортный поток образуется на выходе декодера для какого-либо определенного канала, по которому ведется передача (рисунок 8.6). Далее в демультиплексоре из системного транспортного потока выделяется транспортный поток конкретной программы, а из него — компрессированные потоки, переносящие видеоданные и аудиоданные. Сжатые видео- и аудиоданные поступают в соответству­ющие декодеры, на выходе которых образуются восстановленные сиг­налы изображения и звука.

Рисунок 8.6 – структурная схема транспортного демультиплексирования и

декодирования

В реальных устройствах мультиплексирования и управления не требуется обязательного наличия формирователей PES-пакетов и нескольких транспортных мультиплексоров программного и системного уров­ней. Их функции могут быть интегрированы в другие устройства, что упрощает принципиальную схему и конструкцию блока мульти­плексирования.

Скорость передачи мультиплексированного потока данных задается модемом, выдающим сигнал тактовой синхронизации и запросы на считывание TS-пакетов из транспортного мультиплексора, в составе которого по входам PES-пакетов имеется небольшая буферная память типа FIFO. В случае, если источник данных в данный момент времени недо­ступен, транспортный мультиплексор в ответ на запрос выдает нуле­вой пакет (без полезной нагрузки).

Для формирования и приема транспортного потока используется оборудования, которое работает по алгоритму программы. Программы работы кодеров, декодеров, мультиплексоров стандарта MPEG-2 строятся на конструкциях языка «Си». Каждая элементарная группа данных кодированного цифрового по­тока описывается своим именем, своей длиной в битах и мнемоничес­ким обозначением своего типа и порядка передачи. Порядок следования байтов в многобайтовых словах: сначала стар­ший значащий байт.

Численные значения констант в таблицах, представляющих сервис­ную информацию, часто приводятся в шестнадцатеричном формате, характерным признаком которого являются символы 0х в начале кон­станты, например: 0x00000001, 0x34, 0x00EF и т.д.

Далее по тексту будут использоваться имена синтаксических конструкций, используемых в программном обеспечении, например, data_element.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: