- •Степень сжатия
- •Потери при компрессии
- •Информационная избыточность
- •Методы кодирования
- •Классификация методов сжатия
- •Дискретное косинусное преобразование
- •Последовательность кадров при межкадровом сжатии видеоданных
- •Видеокодирование в гибридной модели дикм/дкп
- •Принцип формирования информационного пакета
- •Системные часы кодера
- •Стандарт кодирования видео- и звуковой информации mpeg-4
- •Объекты и сцены
- •Состав медийных объектов
- •Описание и синхронизация потоков данных для медийных объектов
- •Доставка потоков данных
- •Методы кодирования синтетических видеобъектов
- •Стандарты сжатия видео
- •Международный стандарт кодирования видео h.264/avc
- •Тенденции развития систем сжатия видеоинформации
- •Кодирование нескольких видов динамических изображений - Multiview Video Coding (mvc)
- •H.265/hevc - проект нового стандарта
- •Высокоэффективное кодирование видео hvc
- •Кодирование 3d-видео
- •Реконфигурируемое кодирование видео
Принцип формирования информационного пакета
Стандарт MPEG 2 предоставляет возможность формирования трех видов цифровых потоков:
элементарного пакетированного потока,
программного пакетированного информационного потока и
транспортного пакетированного потока.
Определение «элементарный» означает, что цифровой поток состоит из одного вида информации: звукоданных, видеоданных или данных пользователя. Программный пакетированный информационный поток формируется внутренним мультиплексором, объединяющим в определенной последовательности элементарные пакетированные потоки сжатых видеоданных и элементарные пакетированные потоки сжатых звукоданных. На входы этого же мультиплексора подаются без сжатия служебные данные и синхрослова (см. рисунок 9).
Рисунок 9 - Принцип формирования информационного пакета
Системные часы кодера
Выходной буфер кодера производит с определенной скоростью кадры видеопоследовательности. Каждый из этих кадров произведен в некоторый момент времени. Каждый кодер имеет встроенные часы, поэтому моменты времени, когда производится тот или иной кадр, легко зафиксировать и передать с кодера на декодер. Зачем это нужно?
Очень просто — декодер должен декодировать кадры с той же скоростью, с которой кодер их производит. Кроме того, кодер должен выдавать их в правильной последовательности. На скорость кодера и декодера может влиять масса факторов — от напряжения в сети до температуры в помещении, поэтому их работу необходимо синхронизировать. Кроме того, канал связи может иметь переменную задержку и какую-то собственную буферизацию, т. е. скорость потока на входе декодера может непредсказуемо меняться (см. разд. 1.11).
В стандарте элементарных потоков имеется два значения, которые принимают участие в процессе синхронизации — они называются временными штампами DTC и PTS. Кроме того, может возникнуть необходимость передавать с кодера на декодер показания системных часов кодера. Это делается при помощи поля PCR. Поле PCR мы будем рассматривать в гл. 5, посвященной транспортному потоку. Мы будем встречать эти значения, когда начнем рассматривать синтаксис элементарного потока.
Значение имеют даже не сами показания этих часов, а разницы показаний для разных кадров или моментов времени, поскольку нам необходимо синхронизировать скорость обработки информации.
Временной штамп декодера (Decoder Timestamp или DTC) — это время системных часов, в которое кадр должен быть взят из входного буфера декодера и декодирован. Принимается, что такую операцию можно совершить мгновенно. Таким образом, DTS показывает время, в которое кадр надо декодировать и положить в выходной буфер декодера.
Временной штамп показа (Presentation Timestamp или PTS) — это время системных часов, в которое кадр нужно показать зрителю, т. е. отправить из выходного буфера декодера на устройство воспроизведения (например, на кодер PAL или интерфейс HDMI). Мы говорили в предыдущем разделе, что время показа может не соответствовать времени декодирования, поэтому PTS не всегда соответствует DTS. Например, при наличии В-кадров, время декодирования Р-кадров будет раньше, чем время их презентации.
Системные часы имеют тактовую частоту 27 МГц, т. е. "тикают" 1 раз в 3,7x10-8 сек. Этого более чем достаточно для синхронизации. Для хранения значения системных часов обычно используется 32 бита, поэтому значения системных часов при этой частоте повторяются каждые 158 сек.
Для передачи от кодера к декодеру значения системных часов делятся на две части — базовую и дополнительную (см. разд. 5.2).
Зная значение DTS и PTS, декодер сможет "рассчитать" скорость, с которой нужно производить декодирование, и работать с этой скоростью. В H.264 применена несколько другая система синхронизации, основанная на использовании служебной информации, которая называется HRD (см. разд. 4.6).
Изменение порядка кадров в элементарном потоке
Внутренний мультиплексор из элементарных потоков формирует информационную часть — блок цифрового пакета фиксированной длины в 187 байтов и синхрослово в 1 байт.
Информационная часть затем дополняется головной частью и байтами кода Рида-Соломона, обеспечивающими защиту от ошибок блока информационных байтов (см. рисунок 10).
Рисунок 10 - Структура пакета транспортного потока информационных данных с защитой от ошибок кодом Рида-Соломона
Головная часть (до 200 байтов) содержит управляющие коды и включает в себя:
- один байт стартового кода, подготавливающий приемное устройство к началу приема данных;
- коды коррекции ошибочных битов (сверточные и т.п.); биты данных пользователя;
- биты идентификации, предназначенные для распознавания видео- и аудиоинформации в пакете;
- биты флага данных, несущие информацию о скремблировании (закрытости) канала, его приоритете;
- данные, указывающие на длину заголовка пакета, содержащего до 200 байтов. Они отмечают число байтов, которые могут присутствовать до начала передачи информационной части пакета.
Кодированные данные изображения и звука, а также различная дополнительная информация объединяются в мультиплексоре в единый поток данных: это по сути программный мультиплексор.
Эта часть аппаратуры цифрового ТВ составляет подсистему кодирования источника информации и мультиплексирования. Ее функция — максимально сжать информационный поток источника.
Объединение нескольких ТВ программ (1, 2, 3) в транспортный поток осуществляется в транспортном мультиплексоре (рис. 11).
Рисунок 11 – Формирование транспортного потока
