Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ССТВ_учебное_пособие_1.doc
Скачиваний:
254
Добавлен:
03.03.2016
Размер:
5.32 Mб
Скачать

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

Вся информация, необходимая декодеру для обработки принятого цифрового потока и выделения нужных компонент программы, сосредоточена в управляющей информации (ее еще называют метаданными), передаваемой в составе транспортного потока. Она организована в виде нескольких таблиц, содержащих сведения о составе программ и идентификаторах их компонентов и называемых таблицами программно-зависимой информации 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 включают еще необязательную Таблицу сетевой информации (NITNetwork 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 не сможет декодировать цифровой поток. Для многопрограммного вещания нужны дополнительные данные, описывающие организацию букетов программ, состав вещательной сети, содержание программ и т.д.