Передача сервисной информации в системах цифрового ТВ вещания
Технология цифрового ТВ вещания — это использование структуры транспортных пакетов MPEG-2 в качестве, так называемых, контейнеров данных. Каждый контейнер является оболочкой, в которую упакованы данные различных источников. Транспортный поток системы цифрового ТВ вещания обычно объединяет в себе несколько ТВ программ и других дополнительных или вспомогательных служб, т.е выполняет роль контейнера на физическом уровне. На приеме транспортный поток должен быть адекватно разделен на свои составляющие для выдачи абоненту или для дополнительной обработки. При этом требуется достаточно высокий уровень автоматизации декодера, поддерживающий работу по предварительно введенной программе без непосредственного вмешательства абонента. Для осуществления всех необходимых операций по декодированию и выделению информации, а также для информирования абонента о текущем режиме работы или о выборе интересующих его служб используется передача специальной служебной информации, образующей канал управления системой вешания. Эта специальная служебная информация играет роль заголовка контейнера данных.
В стандарте MPEG-2 ISO/IEC 13818-1 для целей управления зарезервированы специальные служебные данные, называемые специфической информацией о программах (PSI). При разработке образцов реальных систем цифрового ТВ вещания данные PSI были расширены применительно к конкретно решаемым задачам. Сочетание данных PSI и дополнительных служебных данных получило название сервисной информации (SI).
Система сервисной информации SI может использоваться декодером и пользователем для навигации по таблице предоставляемых услуг. Ключевые данные, необходимые для автоматической самоконфигурации декодера, предоставляются MPEG-2 PSI. SI добавляет информацию, позволяющую декодеру автоматически настраиваться на конкретные службы и осуществлять группировку служб по категориям, исходя из информации в расписании. Поскольку зритель в буду-щем будет принимать на свой приемник-декодер сотни каналов, то ему для навигации между новыми службами потребуется помощь в виде злектронного путеводителя по программам EPG. В SI приведены технические атрибуты каждой службы, предоставляемой индивидуальным вещателем, а также информация о времени начала передачи, имени провайдера службы и классификации событий (спорт, новости и др.).
8.5.2 Таблицы сервисной информации
Данные служебной информации PSI и SI организованы в виде ряда таблиц. Каждая таблица содержит данные, относящиеся к определенной функции, которая может потребоваться в приемнике для решения поставленной задачи. Некоторые таблицы очень малы по объему, другие, напротив, могут иметь объем от нескольких килобайт до 2-3 Мбайт.
Специфическая информация о программах PSI предоставляет информацию, требуемую для автоматического конфигурирования приемника, декодирующего и демультиплексирующего различные потоки программ в мультиплексе; она состоит из четырех таблиц:
РМТ (Program Map Table): таблица структуры программы — содержит идентификаторы программ (PID) всех компонентов конкретной программы: видео, аудио, ДИ. Таблица РМТ идентифицирует и указывает местоположение потоков, которые составляют каждую службу, и местоположение полей эталонных меток времени программы конкретной службы;
PAT (Program Association Table): таблица взаимосвязи (ассоциации) программ — содержит идентификаторы программ (PID) таблиц РМТ для всех программ, передаваемых в данном транспортном потоке. Для каждой службы в мультиплексе таблица PAT указывает местонахождение соответствующей таблицы РМТ (значения PID пакетов транспортного потока). Она также указывает местонахождение таблицы сетевой информации (NIT).
CAT (Conditional Access Table): таблица ограниченного доступа - содержит PID всех сообщений ограниченного доступа (EMM) для платных программ. Таблица CAT предоставляет информацию о системах ограниченного доступа (СОД), используемых в мультиплексе. Информация — частная (т.е. не определенная в существующем стандарте [6]) и зависящая от СОД, но включающая местоположение потока EMM, когда таковой существует.
NIT (Network Information Table): таблица сетевой информации – служит для предаставления иформации о физической сети (параметрах системы передачи данных): идентификаторе сети, частоте, орбитальной позиции и пр. Группирует вместе службы, относящиеся к специфическому поставщику сети. Содержит всю информацию, которая может потребоваться для настройки IRD, используется для сигнализации об изменениях в настроечной информации.
Дополнительная сервисная информации SI служит для описания технических атрибутов каждой из доступных служб, предоставляемых индивидуальными вещателями. Она необходима для того, чтобы пользователь мог идентифицировать службы и события, переносимые различными мультиплексами по различным сетям. Данные SI структурированы в десять таблиц: SDT (таблица описания службы - содержит перечень названий служб, провайдеров услуг и других параметров), EIT (таблица информации о событиях — содержит сведения обо всех событиях или программах в мультиплексе MPEG-2), TDT (таблица дат и времени — используется для передачи информации точного времени, включая текущее время и дату, служит для подстройки внутреннего синхрогенера-тора приемника-декодера IRD), ВАТ (таблица группы служб), RST (таблица текущего статуса), ТОТ (таблица смещения времени — несет информацию, относящуюся к текущему времени и дате и к смещению местного времени), ST (таблица байтов стаффинга), SIT (таблица выбираемой информации), DIT (таблица неоднородности информации), TSDT (таблица описания транспортного потока).
8.5.3 Использование таблиц сервисной информации
Для того чтобы интерпретировать содержание транспортного потока, приемник-декодер должен, в первую очередь, декодировать данные SI, содержащиеся в пакетах с особым идентификатором PID.
Использование различных таблиц сервисной информации SI удобно продемонстрировать на примере одного из возможных методов доступа к потоку данных и его декодирования в приемнике, показанному на рисунке 3.13. Прием программы основывается на анализе следующих четырех таблиц PSI:
РМТ — передает соотношения между элементарными потоками, образующими программу, сведения об их атрибутах, а также идентификатор пакета PID, в котором посылается информация;
NIT — передает сведения о канале, по которому посылается информация;
Рисунок 3.14 – Структурная схема обработки данных в приемнике-декодере
PAT — указывает идентификаторы PID, используемые для передачи таблиц РМТ или NIT;
CAT — обеспечивает ограничение доступа к информации.
Декодер таблицы ассоциации программ PAT идентифицирует идентификаторы пакетов PID, содержащие сетевую информацию, и различные таблицы структуры программы РМТ.
Таблица РМТ конкретной программы идентифицирует PID, относящиеся к пакетам сигналов изображения, звука и данных, опрашивая их в соответствии со схемой последовательности операций, показанной на рисунке 3.14. В этом примере приведена схема объединения программ, устанавливающая взаимосвязь различных компонентов, используя базовый номер программы и офсеты его значений для отдельных компанентов.
8.5.4 Передача таблиц сервисной информации
При передаче сигналов цифрового телевидения сервисная информация SI встраивается в каждый транспортный поток вещаемого мультиплекса в качестве независимого сигнала.
Определенные в ISO/IEC 13818-1 таблицы PSI должны быть сегментированы в одну или большее количество секций, которые содержатся в пределах транспортных пакетов. Секция - синтаксическая структура, которая должна использоваться для определения карты каждой определенной таблицы PSI в пакетах Транспортного потока. Секции могут быть переменной длины. Начало секции обозначено pointer_field в полезной нагрузке пакета Транспортного потока.
Между секциями и пакетами транспортного потока должно быть устанавлено четкое соответствие. Секции могут начинаться в начале полезной нагрузки пакета транспортного потока, но это не является обязательным требованием, потому что начало первой секции в полезной нагрузке транспортного пакета указывается в поле pointer_field. В транспортном пакете никогда не может быть более одного поля pointer_field, так как начало любой другой секции может быть идентифицировано подсчетом длины первой и любых последующих секций, поскольку используемый синтаксис не допускает никаких промежутков между секциями в пределах пакета транспортного потока.
В пределах пакетов транспортного потока с любым единственным значением PID одна секция заканчивается прежде, чем может быть разрешен старт следующей, иначе было бы невозможно определить, к какому заголовку секции относятся данные. Если секция заканчивается ранее конца транспортного пакета, но начинать другую секцию неудобно, то для заполнения пространства полезной нагрузки можно использовать механизм стаффинга.
Стаффинг осуществляется заполнением каждого остающегося байта транспортного пакета значением 0xFF. Следовательно, значение 0xFF нельзя использовать табличным идентификатором tableid. Если байт, следующий непосредственно за последним байтом секции, принимает значение 0xFF, то вся оставшаяся часть транспортного пакета должна быть заполнена байтами 0xFF. Эти байты могут игнорироваться декодером. Стаффинг может также быть выполнен с использованием механизма поля адаптации.
Чтобы правильно декодировать таблицы сервисной информации SI, для них зарезервированы значения PID.
В таблице 3.4 перечислены значения идентификатора программы PID, которые должны использоваться для пакетов транспортного потока, переносящих секции сервисной информации SI
Таблица 3.4 – значения идентификаторов PID для таблиц SI
Таблица SI | Значение PID |
PAT | 0x0000 |
CAT | 0x0001 |
TSDT | 0x0002 |
Зарезервировано | 0x0003 - 0x000F |
NIT, ST | 0x0010 |
SDT, BAT, ST | 0x0011 |
EIT, ST | 0x0012 |
RST, ST | 0x0013 |
TDT, TOT, ST | 0x0014 |
Синхронизация сети | 0x0015 |
Зарезервировано для использования в будущем | 0x0016-0x001D |
DIT | 0x001Е |
SIT | 0x001F |
8.6 Синхронизация в системах цифрового ТВ вещания
8.6.1 Принцип постоянной задержки
Кадры телевизионного изображения поступают на вход кодера MPEG-2 с постоянной частотой, точно с такой же частотой должны воспроизводиться кадры телевизионного изображения на выходе декодера. Это означает, что общая задержка в системе, представляющая собой сумму задержек в отдельных элемента схемы, должна быть постоянной (рисунок 3.15). Объем данных, необходимый для представления кодированных изображений, не является постоянной величиной. Он зависит от детальности изображения, от наличия быстро перемещающихся объектов, от способа кодирования (I, P и B изображения характеризуются разными объемами данных). Энтропийное кодирование формирует слова с переменной длиной. А для равномерной загрузки канала связи данные должны следовать с постоянной скоростью. Проблема решается за счет использования буфера кодера (данные поступаю в буфер с переменной скоростью, а выходят – с постоянной).
Рисунок 3.15 – Принцип компрессии с постоянной задержки
Кодированные изображения (блоки доступа) в силу отмеченных особенностей кодирования поступают в декодер с переменной частотой, но воспроизводиться декодированные изображения должны с постоянной частотой, равной частоте кадров. И в декодере проблема решается за счет буфера. Компенсация одной переменной задержки другой – вот принцип реализации постоянной задержки во всей системе.
8.6.2 Метки времени
Механизм, обеспечивающий компенсацию задержек и синхронизацию – метки времени, которые ставятся в соответствие каждому блоку доступа (рисунок 8.10) и которые сообщают декодеру точное время, когда блок доступа должен быть извлечен из буфера декодера и декодирован. Для того, чтобы придавать блокам доступа метки времени, кодер должен знать текущее системное время, обеспечиваемое генератором опорного времени. Но метки времени блоков доступа не являются копиями текущего времени. Надо помнить, что метка времени указывает время, когда декодер будет декодировать данный блок доступа, что должно произойти в будущем. Поэтому должен быть некоторый сдвиг между текущим временем и меткой. Насколько велик должен этот сдвиг, зависит от многих факторов, среди которых размер буферов кодера и декодера, скорость, с которой элементарный поток поступает в мультиплексор. Сдвиг должен быть достаточно большим, чтобы блок доступа прошел через буфер кодера, мультиплексор и был полностью записан в буфер декодера. При расчете сдвига надо также предотвратить возможное переполнения или полное опустошения буфера декодера, ведь и в том, и в другом случае возникает сбой в непрерывном воспроизведении декодированных изображений. Для этого в кодере используется гипотетический декодер, который подключен к выходу кодера. Конечно, это не настоящий декодер, а вычислительная модель, сопровождаемая определителем степени заполнения буфера декодера. Назначение моделей – наложить ограничения на процесс кодирования с целью обеспечения отсутствия переполнения или полного освобождения емкости буфера декодера. Данные о степени заполнения буфера сообщаются реальному декодеру, чтобы он мог сопоставить вычисленные значения с текущими значениями аналогичных параметров в процессе настоящего декодирования.
Рисунок 8.10 – Использование меток времени при формировании транспортного потока