Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовые / Курсовой Проект по ЦОС Истомин Е.С. ИМЭ-36.doc
Скачиваний:
82
Добавлен:
17.04.2013
Размер:
917.5 Кб
Скачать

6. Потоки.

6.1 Пакетный элементарный поток.

Системная спецификация MPEG-2 (ISO/IEC 13818-1) описывает объединение элементарных потоков одной или нескольких телевизионных программ в единый поток данных, удобный для записи или передачи по каналам цифровой связи. Надо отметить, что стандарт MPEG-2 не определяет защиту от ошибок, возможных при записи или передаче, хотя он, конечно, предусматривает такую возможность, облегчая защиту за счет оптимального выбора параметров потока. MPEG-2 регламентирует две возможных формы единого потока данных - это программный поток и транспортный поток. Первый шаг на пути получения единого потока - формирование пакетного элементарного потока PES (Packetised Elementary Stream), представляющего собой последовательность PES-пакетов (рис.9).

Каждый пакет состоит из заголовка и данных пользователя, или полезной нагрузки, которая представляет собой фрагменты исходного элементарного потока. Нет никаких требования по

Рис. 9. Формирование пакетного согласованию начала

элементарного потока полезных данных

пакета и начала блоков

доступа, поэтому начало блока доступа может быть в любой точке PES-пакета, а несколько малых блоков доступа могут попасть в один PES-пакет. PES-пакеты могут быть переменной длины. Эту свободу можно использовать по-разному. Например, можно просто установить фиксированную длину всех пакетов, а можно согласовывать начало пакета с началом блока доступа.

В начале заголовка PES-пакета (рис.10) идет 32-битный код старта, состоящий из стартового префикса и идентификатора потока. Идентификатор потока позволяет выделить PES-пакеты, принадлежащие одному элементарному потоку телевизионной программы. Спецификация определяет разрешенные значения чисел в поле идентификатора для 32 элементарных потоков звука и 16 элементарных потоков видеоданных. Флаги 1 и 2 - биты, указывающие на наличие или отсутствие в заголовке дополнительных полей, которые не являются обязательными. Эти поля служат для переноса дополнительной информации, такой, например, как авторские права, скремблирование, приоритет. Особую значимость имеют битыP и D флага 2, указывающие на наличие полей с метками времени представления PST (Presentation Time Stamps) и декодирования DTS (Decoding Time Stamps). Метки времени - это механизм, обеспечивающий синхронизацию потоков данных в декодере.

Рис. 10. Заголовок PES - пакета

6.2 Программный поток.

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

Программный поток объединяет элементарные потоки одной программы, имеющие общую временную базу. Он предназначен для использования в условиях окружения, не вносящего ошибки в цифровые данные. Причина этому - сравнительно большие блоки переменной длины. Искажения из-за ошибок одного блока могут означать потерю, например, целого кадра телевизионного

Рис. 11. Формирование пограмного потока изображения. Поскольку

длина блока переменная, то

декодер не может предсказывать время конца одного блока и начало другого и вынужден полагаться только на информацию о длине, содержащуюся в заголовке. Если соответствующее поле заголовка окажется пораженным ошибками, то декодер выйдет из синхронизма и потеряет, по крайней мере, один блок. К преимуществам, получаемым при использовании программного потока, можно отнести то, что процедура демультиплексирования программного потока относительно проста.