MPEG форматы

Реферат - Компьютеры, программирование

Другие рефераты по предмету Компьютеры, программирование

Conditional Access Table).

Каждая из этих таблиц передается в виде полезной нагрузки одного или нескольких транспортных пакетов. Таблица соединения программ PAT всегда переносится транспортными пакетами с PID=0. Эта таблица (рис.14) сообщает список номеров всех программ, которые содержатся в транспортном потоке, и указывает идентификаторы пакетов, в которых находятся PMT-таблицы с информацией о программах и элементарных потоках, из которых они складываются. Номер программы 0 зарезервирован, он используется для указания на PID пакета с сетевой информацией NIT о сетях передачи транспортного потока, частотах каналов, характеристиках модуляции и т.п. (в примере рисунка 14 PID пакета с NIT равен 16, а PID пакета с информацией PMT о программе 1 равен 21).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В таблице PMT (на рис.15 показан пример PMT для программы 1 с PID, равным 21) указываются сведения о программе и тех элементарных потоках, из которых она складывается. Из примера рис.15 следует, что элементарный поток видеоданных этой программы переносится пакетами с PID=50, поток звука пакетами с PID=51, дополнительных данных пакетами с PID=52. В таблице также указывается PID транспортных пакетов, переносящих метки опорного времени данной программы (обычно эти пакеты имеют тот же PID, что и элементарный поток видео).
Все вместе таблицы с программной информацией образуют иерархический индексный механизм. Рис.16 показывает принцип мультиплексирования элементарных и транспортных потоков в процессе получения многопрограммного транспортного потока, а рис.17 иллюстрирует демультиплексирование транспортного потока с целью извлечения элементарных потоков, из которых складывается телевизионная программа 1 (значения PID на этих рисунках соответствуют примерам таблиц, показанных на рис.14 и 15).
Благодаря небольшой длине пакета транспортный поток может легко переносить несколько телевизионных программ с разными временными базами, но за это приходится платить боле сложной, чем в случае программного потока схемой мультиплексирования и демультиплексирования.


Синхронизация

Принцип постоянной задержки

Кадры телевизионного изображения поступают на вход кодера MPEG-2 с постоянной частотой, точно с такой же частотой должны воспроизводиться кадры телевизионного изображения на выходе декодера. Это означает, что общая задержка в системе, представляющая собой сумму задержек в отдельных элемента схемы, должна быть постоянной (рис.18). Объем данных, необходимый для представления кодированных изображений, не является постоянной величиной. Он зависит от детальности изображения, от наличия быстро перемещающихся объектов, от способа кодирования (I, P и B изображения характеризуются разными объемами данных). Энтропийное кодирование формирует слова с переменной длиной. А для равномерной загрузки канала связи данные должны следовать с постоянной скоростью. Проблема решается за счет использования буфера кодера (данные поступаю в буфер с переменной скоростью, а выходят с постоянной).

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

Метки времени

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

Подстройка системных часов

Для правильной интерпретации меток