Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Спецификация Systems






Как уже отмечалось, системная спецификация определяет правила объединения потоков видео, звука и данных в один программный поток, и объединение нескольких программных в один транспортный. Первый шаг для получения программного и транспортного потоков – формирование пакетного элементарного потока PES (Packetised Elementary Stream).

 

Рис. 13.1 Формирование пакетного элементарного потока

 

Он состоит из PES-пакетов (рисунок 13.1)

Длина PES пакета может быть произвольной, фиксированной или переменной. Каждый PES пакет начинается с заголовка, который состоит из стартового префикса, и идентификатора потока, который позволяет выделить PES пакеты, принадлежащие одному элементарному потоку. Возможно определение пакетов из 32 потоков звука и 16 потоков видео. Здесь же передается информация о длине PES пакета и о длине его заголовка, могут передаваться метки времени представления PTS и метки времени декодирования DTS

Программный поток объединяет несколько элементарных потоков, образующих одну программу и имеющих общую временную базу (рисунок 13.2).

 

Рис. 13.2 Формирование программного потока

 

Образуются блоки из PES пакетов разных элементарных потоков. В начале блока идет заголовок блока и системный заголовок (необязательный). На длину блока нет никаких ограничений, кроме того, что заголовки блока должны появляться не реже, чем через 0, 7 секунд, т.к. в них передается опорное системное время, необходимое для подстройки «часов» декодера. Системный заголовок несет информацию о характеристиках программного потока: скорость данных, количество элементарных потоков. Декодер по этой информации определяет, сможет ли он декодировать этот программный поток.

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

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

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

- Транспортный пакет должен содержать информацию одного PES пакета;

- Если PES пакет имеет объем не кратный 184 байтам, то один из транспортных пакетов, переносящих этот PES пакет, дополняется полем адаптации, которое переносит дополнительную информацию об использовании этого потока, например, опорное время программы PCR;

- Транспортные пакеты от различных элементарных потоков могут идти в произвольном порядке, но транспортные пакеты одного элементарного потока должны передаваться в порядке нарезания.

 

 

Рис.13.3 Формирование транспортного потока

 

Первый байт заголовка транспортного пакета – синхробайт (число 47 в шестнадцатеричной системе исчисления). 13 бит – идентификатор транспортного пакета PID (для распознавания принадлежности пакетов элементарным потокам). Из 8192=213 возможных значений 17 отведено для специальных целей (например, транспортный пакет с PID=0 передает таблицу соединения программ). Таким образом, транспортный поток может переносить данные 8175 элементарных потоков. Четыре бита заголовка отведено на счетчик непрерывности, который считает транспортные пакеты одного элементарного потока. Это удобно при больших уровнях шума в канале связи, например, при потере одного транспортного пакета, декодер определит его отсутствие и примет меры по маскированию ошибок.

Транспортный поток адаптирован к работе в неблагоприятном окружении (в присутствии шумов). Это видно по сравнительно малой и фиксированной длине транспортных пакетов. Благодаря этому же транспортный поток может переносить элементарные потоки нескольких программ, но за это приходится платить более сложной схемой мультиплексирования, чем в программном потоке.

В системе MPEG-2 существуют четыре вида таблиц с программной информацией:

1. таблица соединения программ PAT (Program Association Table), сообщает список всех программ, передаваемых в транспортном потоке и PID транспортных пакетов с таблицами планов программ;

2. таблица плана программы PMT (Program Map Table), сообщает об элементарных потоках, из которых складывается программа и PID транспортных пакетов, несущих информацию этих потоков;

3. таблица сетевой информации NIT (Network Information Table) сообщает о характеристиках используемых каналов;

4. таблица условного доступа CAT (Conditional Access Table)

Все таблицы передаются в качестве полезной нагрузки транспортных пакетов. Таблица PAT единственная в потоке и передается в пакете с PID=0. Количество таблиц PMT равно количеству передаваемых программ в транспортном потоке.

Рассмотрим принцип мультиплексирования (рисунок 13.4) и демультиплексирования (рисунок 13.5) программ.

 

Рис. 13.4 Формирование многопрограммного транспортного потока

 

В первом мультиплексоре (назовем его программным) формируется программный транспортный поток (рисунок 13.4), с добавлением транспортного пакета с таблицей плана программы PMT (таблица 13.2).

Она передается (в нашем случае) в транспортных пакетах с идентификатором PID=20. В нашем примере в таблице PMT будет четыре значения, определяющих идентификаторы транспортных пакетов, переносящих элементарные потоки этой программы. Четвертый – PID пакета, переносящего метки опорного времени программы. Обычно PID пакетов, переносящих опорное время, совпадает с PID пакетов видео. Во втором мультиплексоре происходит сложение транспортных потоков нескольких программ, с добавлением таблицы соединения программ PAT, таблица 13.3. Она передается в транспортном пакете с PID=0. И несет информацию о значениях идентификаторов транспортных пакетов с таблицами плана соответствующих программ.

 

Таблица 13.2 Таблица плана программы PMT

Элементарный поток Значение PID
Видео  
Звук  
Данные  
Опорное время  

 

Таблица 13.3 Таблица соединения программ PAT

Номер программы Значение PID пакетов с PMT
   
   
   

 

Номер программы 0 отведен для обозначения PID транспортных пакетов с таблицей сетевой информации NIT, в нашем случае 16.

Рассмотрим процесс выделения элементарных потоков одной программы из многопрограммного транспортного потока, рисунок 13.5.

 

 

Рис. 13.5 Выделение элементарных потоков

 

При декодировании транспортного потока, сначала выделяется транспортный пакет с таблицей соединения программ PAT, она передается в пакете с PID=0. По этой таблице определяется PID транспортного пакета с таблицей плана необходимой программы PMT. По этой таблице определяются PID транспортных пакетов элементарных потоков, составляющих данную программу.

Таким образом, иерархический механизм, образованный всеми таблицами с системной информацией позволяет легко объединять и разделять элементарные потоки различных программ.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.