Таблицы программно-зависимой информации

Вся информация, необходимая декодеру для обработки принятого цифрового потока и выделения нужных компонент программы, сосредоточена в управляющей информации (ее еще называют метаданными), передаваемой в составе транспортного потока. Она организована в виде нескольких таблиц, содержащих сведения о составе программ и идентификаторах их компонентов и называемых таблицами программно-зависимой информации PSI (Program Specific Information).

Рисунок 3.8 — Алгоритм действия декодера при прочтении таблиц PSI

Алгоритм работы декодера при прочтении таблиц PSI поясняется рисунком 3.8. Первая таблица, пакеты которой находит кодер в потоке — Таблица объединения программ (РАТ — Program Association Table). Таблица РАТ имеет по умолчанию PID = 0 и включает информацию о программах, передаваемых в данном потоке, и идентификаторы, относящиеся к этим программам. Каждый такой PID, в свою очередь, определяет для выбранной программы Таблицу состава программы (РМТ — Program Map Table), в которой перечислены все компоненты, входящие в данную программу, с их идентификаторами. Декодеру остается отобрать из общего потока пакеты с нужными идентификаторами и декодировать их, восстановив изображение и звуковое сопровождение. Если программа платная, декодеру придется анализировать еще и содержание Таблицы условного доступа (САТ — Conditional Access Table) с PID = 1, в которой указаны идентификаторы пакетов с сообщениями системы условного доступа. Иногда в набор таблиц PSI включают еще необязательную Таблицу сетевой информации (NIT — Network Information Table), которая определяет все транспортные потоки, относящиеся к данной сети. Содержимое таблиц вводится в секции — области поля адаптации определенной длины, снабжаемые указателями. Размер секции для передачи служебной информации не должен превышать 1024 байта. Возможна передача нескольких коротких секций в поле адаптации одного пакета транспортного потока или одной длинной секции в нескольких пакетах.

На рисунке 3.9 показана иерархия PSI таблиц и взаимосвязи между ними. Рассмотрим структуру таблиц подробнее.

Рисунок 3.9 — Структура таблиц программно-зависимой информации PSI

Общий формат таблицы РАТ показан на рисунке 3.10,а. Таблица содержит заголовок длиной 8 байт и поле данных. Структура заголовка более детально развернута на рисунке 3.10,б. Первым идет идентификатор таблицы table_id. Это однобайтовое число обязательно входит в состав любой таблицы и определяет ее тип. Может возникнуть вопрос: разве PID не определяет таблицу полностью, и зачем нужен еще один идентификатор?

Рисунок 3.10 — Формат таблицы РАТ:

а — общая структура; б — структура заголовка.

PID является более общим указателем, чем table_id. Например, две таблицы TDT и ТОТ (о них мы узнаем в шестой главе) имеют одинаковый PID, но разные table_id. Следующий существенный указатель — длина секции в байтах. Два старших бита из 12 установлены на «0», так что длина секции не может превышать 1024 байта. Идентификатор транспортного потока transport_stream_id размером 2 байта указывает условный номер в данной сети транспортного потока, в котором передается анализируемая таблица. Указатель номер версии изменяется на единицу каждый раз, когда в таблицу вносятся изменения. Если таблица разбита на несколько секций, однобайтовый указатель номер секции сообщает номер передаваемой секции. Номер последней секции необходим для подтверждения того, что вся таблица принята декодером.В поле данных таблицы РАТ содержатся сведения о программах, передаваемых в транспортном потоке, с их номерами PID. Номер программы занимает 2 байта, затем следуют 3-битовый промежуток и 13-битовое значение PID.

Таблица РМТ создается отдельно для каждой программы, передаваемой в потоке. Общая структура таблицы показана на рисунке 3.11,а, детальная структура заголовка — на рисунке 3.11,б. Заголовок длиной 12 байтов содержит идентификатор таблицы table_id, всегда равный 0×02, номер программы, сведения о версии таблицы, номере секции и номере последней секции, а также PID того PES в потоке, который переносит значения PCR. В поле данных описывается одна из передаваемых программ со всеми ее компонентами, а завершается секция контрольной суммой. Описание программы содержит подробный перечень всех элементарных потоков, составляющих программу, с их основными параметрами. Тип потока (stream_id) указывает на содержимое данного потока (0×01 — МРЕG-1 видео, 0×02 — МРЕG-2 видео, 0×03 — МРЕG-1 звук, 0×04 — МРЕG-2 звук, 0×05 — нестандартные секции, и т.д.), elementary_PID сообщает значение PID пакетированного потока, несущего данный элементарный поток, ES_info_length указывает длину дескриптора элементарного потока. По этим значениям декодер выделяет нужные элементарные потоки из общей цифровой последовательности. На рисунке 3.11 показана одна из таблиц РМТ того же цифрового потока, иллюстрирующая общие принципы.

Рисунок 3.11 — Формат таблицы РМТ:

а — общая структура; б — структура заголовка.

Основными компонентами таблицы САТ являются table_id и дескриптор системы условного доступа — указатель, сообщающий декодеру условное обозначение используемой в потоке системы условного доступа и номер PID потока управляющих сообщений о правах доступа. Дескриптор условного доступа может присутствовать и в РМТ таблице, в этом случае он указывает на РI1Э потока сообщений, необходимого для дешифровки скремблированной программы.

Частота повторения пакетов РАТ и РМТ таблиц должна быть не менее 10 Гц, периодичность сообщений условного доступа определяется конкретной системой условного доступа.

Рассмотренные три таблицы составляют необходимый минимум, без которого декодер МРЕG -2 не сможет декодировать цифровой поток. Для многопрограммного вещания нужны дополнительные данные, описывающие организацию букетов программ, состав вещательной сети, содержание программ и т.д.

3.3. Транспортировка пакетов MPEG -2 в составе ячеек АТМ

Механизм транспортировки данных из одной точки в другую в большинстве систем связи включает идентификацию источника и получателя пункта назначения. Механизм идентификации особенно важен в системах с коммутацией пакетов, в которых пакеты данных пересылаются из одного пункта коммутации в другой до тех пор, пока не достигнут конечного пункта назначения. В комплексных системах связи пакеты данных, относящиеся к одному и тому же сообщению, могут доставляться от источника к пункту назначения различными путями в зависимости от величины трафика системы. Пакеты, предназначенные для применения на уровне звена данных и физическом уровне, обычно содержат следующие шесть элементов: флаг начала пакета и синхроинформацию; информацию для управления кадром с указанием типа кадра; идентификатор пункта передачи в виде адреса источника; идентификатор пункта назначения в виде адреса получателя; полезная нагрузка; символы для обнаружения ошибок или циклической проверки на четность (CRC).

Одной из важных технологий, применяющейся для передачи данных по широкополосным цифровым сетям с интеграцией служб (B-ISDN), является асинхронный способ передачи (Asynchronous Transfer Mode, ATM). Первоначально ATM -технология была разработана для решения задач мультиплексирования и транспортировки применительно к телефонной связи с целью объединения различных видов трафика в одной и той же системе. В структуре ATM информация передается короткими пакетами фиксированной длины, которые называются ячейками. Длина ячейки составляет 53 байта (октета по терминологии МСЭ-Т). Первые 5 байтов (заголовок) содержат информацию о мультиплексировании, а остальные 48 байтов (полезная загрузка) содержат данные пользователя.

Заголовок ячейки ATM обеспечивает выполнение сетевых функций и состоит из шести полей:

GFC — Generic Flow Control — 4-битовое поле общего контроля потока, служащее для контроля прохождения трафика через сетевой интерфейс пользователя.

VPI — Virtual Path Identifier — 8-битовое поле идентификатора виртуального пути (указателя фактического маршрута передачи).

VCI — Virtual Channel Identifier —16-битовое поле идентификатора виртуального (фактически используемого) канала. Функции VCI и VPI совместно обеспечивают информацию о маршруте передачи информации с преобразованием последовательностей из одного вида в другой. Информация, относящаяся к источнику и конечному пункту назначения, передается не в АТМ заголовке, а представляется последовательностью этапов маршрута при выделении АТМ канала.

PTI — Payload Type Indicator — 3-битовое поле индикации типа полезной нагрузки.

CLP — Cell-Loss Priority — 1-битовое поле приоритета потери ячейки, т.е. флаг, определяющий прерывание передачи последовательности при перегрузке сети.

HEC — Header Error Control — 8-битовое поле контроля над ошибками в заголовке, служащее для исправления ошибок в АТМ заголовке.

Метод АТМ разработан для применения в сети с коммутацией пакетов, когда различные ячейки одного и того же сообщения могут следовать по разнообразным путям между источником и приемником. Чтобы гарантировать правильную сквозную доставку информации и восстановление полезной нагрузки в порядке ее передачи, были стандартизированы уровни эталонной модели протоколов B-ISND. Применительно к АТМ важное значение имеют три первых уровня: физический, уровень АТМ и уровень адаптации АТМ (ATM Adaptation Layer, AAL).

Уровень адаптации АТМ обеспечивает выполнение услуг в интересах верхнего уровня, при этом он разбивается на два подуровня: конвергенции (Convergence Sublayer, CS); сегментации и сборки (Segmention and Reassembly Sublayer, SAR). Стандартизированы 5 уровней адаптации АТМ типа 1 — 5, которые обеспечивают маршрутизацию сообщения, ретрансляцию кадров, эмуляцию каналов, идентификацию узлов и информацию о времени, необходимые для правильного восстановления сообщений на приемном конце. Однако, в условиях единственного пути сообщения, характерного для цифрового наземного вещания, байты, относящиеся к идентификации пути сообщения, представляют собой избыточные данные заголовка.

Цифровое наземное телевизионное вещание является системой исключительно для передачи из одной точки на множество точек, и система транспортировки МРЕG -2 предназначена для применения в функции эффективного контейнера сигналов изображения, звука и данных, которые будут подаваться от источника к потребителю. Поскольку участок тракта между источником и потребителем является по существу фиксированным (если не учитывать проблемы многолучевой интерференции) и пропускная способность наземного канала при передаче данных строго ограничена, нет никакой необходимости передавать информацию об источнике, пункте назначения или узловом пункте сети в каждом пакете.

При разработке стандартов МРЕG -2 учитывался вариант сопряжения транспортных потоков цифрового телевидения с сетями АТМ. Известны два метода последовательного ввода пакетов транспортного потока МРЕG -2 в ячейки системы АТМ, рассмотренные в Рекомендации ITU-T J. 82. В первом из них используются уровень адаптации АТМ AAL типа 1 и введение отдельного транспортного пакета МРЕG -2 в четыре ячейки системы АТМ.

Подуровень сегментации и сборки ВАН принимает от подуровня конвергенции СВ блоки данных полезной нагрузки длиной 47 октетов и добавляет к ним 1 октет заголовка. Сформированный таким образом блок данных в 48 октетов называется протокольным блоком данных (Protocol Data Unit, PDU), или SAR-PDU. Транспортный пакет стандарта МРЕG -2 состоит из 188 байтов, включающих 4 байта заголовка и 184 байта полезной загрузки.

Этот 188-байтовый пакет может быть размещен в пределах четырех ячеек АТМ как четыре полезные нагрузки по 47 байтов блоков SAR-PDU (4 × 47 = 188), оставляя пространство для одного байта адаптации АТМ AAL типа 1 на одну ячейку АТМ. Пример такого размещения показан на рисунке 3.13.

Рисунок 3.13 — Мультиплексирование транспортного

пакета МРЕG -2 в ячейки АТМ

Транспортная субсистема МРЕG -2 с ее 4-байтовым заголовком транспортного пакета из 188 байтов менее перегружена, чем система АТМ.

Излишнее наполнение заголовка должно приниматься во внимание среди прочих ограничений систем цифрового ТВ вещания.

Во втором методе ввода используется уровень адаптации АТМ AAL типа 5, для которого блок данных полезной нагрузки равен 48 октетам. Уровень адаптации типа 5 обладает меньшей избыточностью, так как использует служебную информацию, переносимую в заголовке ячейки АТМ. На этом уровне осуществляется так называемое 1/ N - перераспределение, при котором N пакетов транспортного потока загружаются в АТМ -ячейки на уровне адаптации для звена служебных данных. Значение N определяется сигнализацией о заполнении ячеек. В некоторых случаях сигнализация не передается, и объем загрузки ячеек не превышает 376 октетов данных.

Если в двух последовательно поступающих пакетах транспортного потока не содержатся эталонные метки времени программы (программный тактовый сигнал — Program Clock Reference, PCR), то они могут быть непосредственно введены в восемь АТМ -ячеек (N =2).

Структурная схема ввода двух транспортных пакетов в 8 ячеек АТМ показана на рисунке 3.14. Общий объем данных полезной нагрузки в составе 8 ячеек АТМ уровня адаптации AAL типа 5 составляет 384 октета. Из них 376 октетов служат для ввода данных двух транспортных пакетов, а 8 октетов хвостовика протокольного блока данных общей части подуровня конвергенции (Common Part Convergence Sublayer, CPCS-PDU) могут использоваться, например, для контроля ошибок.

Рисунок 3.14 — Ввод пакетов (N = 2) в ячейки А ТМ (ААL типа 5)

3.4. Принципы обеспечения синхронизации цифровых потоков в стандарте МРЕG -2

Общий отсчет времени задается ссылками на системные часы (SCR), вводимыми в заголовок системного потока, по ним декодер подстраивает свои внутренние часы и «привязывает» потоки видео и звука к абсолютным отсчетам времени. Для выравнивания задержки во времени отдельных пакетов в заголовок PES -пакета вводятся временные метки воспроизведения (PTS) и временные метки декодирования (DTS), которые указывают, в какие моменты этого абсолютного времени декодер должен обработать и вывести на экран соответствующие изображения или звуковые последовательности. Эти же средства используются и в программном потоке МРЕG -2, где все компоненты потока также имеют общую временную базу.

Транспортный поток содержит программные компоненты с разной предысторией, в том числе и с несколько различающимися тактовыми частотами, поэтому невозможно или весьма трудоемко привести все сигналы к единой временной базе. Для управления такими потоками вводится еще один механизм синхронизации, называемый ссылкой на программные часы (PCR — Program Clock Reference). PCR, как и другие временные метки, также представляет собой 33-битовое число, отсчитываемое в периодах частоты 90 кГц, получаемой делением на 300 частоты тактового генератора 27 МГц. Оно показывает ожидаемое время завершения считывания в декодере поля PC R из транспортного потока, после чего декодер может приступить к сравнению пришедшего и местного отсчетов и выработке корректирующего сигнала. Отличие от SCR в том, что PCR вводится в поток на программном, а не системном уровне, в одном потоке могут передаваться несколько различных PCR, по числу программ. Декодер при переключении на каждую новую программу заново синхронизирует внутренний генератор частоты 27 МГц. Стандарт предписывает повторение метки PCR не реже чем 1 раз в 0,7 с. В промежутках декодер вычисляет значения меток путем интерполяции.



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



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