logo
Шпоры по ТМ

Сжатие, технологии, методы, mpeg.

Существует множество технологий сжатия цифрового видео, однако остановимся на тех из них, которые легли в основу наиболее популярных компрессоров видео. Некоторые из рассматриваемых компрессоров используют не одну технологию сжатия, а некоторую их совокупность. Например, и Indeo 3.2, и Cinepak используют векторную квантизацию. Международные стандарты MPEG-1, MPEG-2, MPEG-4, H.261 и H.263 используют комбинированную технологию БДКП и компенсацию движения. Некоторые современные алгоритмы используют технологию ДВП (Discrete Wavelet Transform, или DWT). Другие технологии включают Фрактальное сжатие изображений (Fractal Image Compression). Уровни качества сжатия:

Методы.

Векторная квантизация (Vector Quantization,VQ) . Компрессорами, использующими технологию VQ, являются Indeo 3.2 и Cinepac. Оба они применяют цветовую схему YUV (использует три компоненты, Y – яркость (может быть использована как чёрно – белое изображение), U – голубизна, V – краснота). Процесс кодирования очень трудоемок и практически неосуществим без специального дополнительного оборудования. Процесс декодирования очень быстр. Имеют место блоковые искажения при высоких коэффициентах сжатия. Основная идея векторной квантизации заключается в разбиении изображения на блоки (размером 4x4 пикселя в цветовой схеме YUV для компрессоров Indeo и Cinepac). Как правило, некоторые блоки оказываются похожими друг на друга. В этом случае компрессор идентифицирует класс похожих блоков и заменяет их одним общим блоком. Кроме того, генерируется двоичная таблица (карта) таких общих блоков из самых коротких кодовых слов. VQ-декодер затем, используя таблицу, собирает изображение поблочно из общих блоков.

Дискретное Косинусное Преобразование (ДКП) См. JPEG (???).

Дискретное Wavelet - преобразование (DWT). Большинство как статических, так и динамических изображений, сжатых при помощи алгоритма DWT, не имеет характерной для алгоритма ДКП блочной структуры. Наблюдается относительно высокое качество изображений, сжатых с использованием DWT, превосходит качество изображений, сжатых при помощи ДКП, при тех же коэффициентах сжатия. DWT несколько размазывает, закругляет острые контуры изображения. DWT - алгоритм основан на передаче сигнала, например изображения, через пару фильтров: низкочастотный и высокочастотный. Низкочастотный фильтр выдает грубую форму исходного сигнала. Высокочастотный фильтр выдает сигнал разности или дополнительной детализации. В свою очередь, результат на выходе высокочастотного фильтра (добавочный сигнал детализации) может быть подвернут той же процедуре и так далее. Простым примером DWT является DWT Хара.

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

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

Компенсация движения. Компрессорами, использующими технологию компенсации движения, являются: MPEG-1,2 и 4.

По сравнению с механизмом разницы кадров механизм компенсации движения позволяет достигать большей степени сжатия. Кодирование весьма трудоемко и требует специальной аппаратуры. Технология компенсации движения используется в таких международных стандартах сжатия цифрового видео, как: MPEG, H.261 и H.263. Наибольшее сжатие достигается в сценах с пониженным движением.

Компенсация движения основана на использовании ряда сложных алгоритмов. Сфера, где данная технология сжатия эффективна, как правило, сводится к видеоряду, в котором объект изменяет свое местоположение относительно неподвижного фона. Объекты, изменяющиеся по форме, приближающиеся или удаляющиеся (движущаяся камера), не подлежат эффективному сжатию посредством алгоритма компенсации движения. Сжатие возможно заданием вектора смешения элементов изображения вместо хранения больших значений новых координат данных элементов изображения. Основным блоком (относительно которого задается вектор смещения остальных блоков) может являться любой блок изображения размером 16x16 пикселей, максимально похожий на кодируемый (предсказываемый) блок. Ясно, что кадр, на который ссылаются таким образом другие кадры, должен быть декодирован ранее. Однако совсем не обязательно, чтобы опорный кадр предшествовал предсказываемому кадру. MPEG позволяет производить предсказание в обоих направлениях путем введения так называемых B - (bidirectionally predicted) кадров.

MPEG. Технология сжатия видео в MPEG решает следующие задачи:

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

Устранение пространственной избыточности изображения путём подавления мелких несущественных деталей.

Использование более низкого цветового разрешения YOV.

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

На этапе предварительной обработки входной видеосигнал оцифровывается и форматируется согласно заданному размеру и цветовой выборке (например, для PAL 352*288 и 2:1:1). Изображение делится на макроблоки размером 16*16 пикселей.

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

I - кадры - независимо сжатые (I - Intrapictures). Являются опорными и кодируются независимо методом JPEG. Требуют для своего кодирования большого объёма информации и обеспечивают большую точность восстановления. Стандарт не ограничивает алгоритма определения вектора смещения. Кадры I - типа сжаты описанным выше методом и не содержат ссылок на какие-либо другие кадры. Средняя степень сжатия составляет примерно 2 бита на точку. Подобный кадр является первым кадром последовательности, с него начинается новый видеоряд, при этом между двумя I - кадрами может находиться не более 12 кадров других типов. Обычно последовательность выглядит следующим образом:

I B B P B B P B B P B B I B B P B B P B

Р - кадры - сжатые с использованием ссылки на одно изображение (P - Predicted). Макроблоки P – типа могут кодироваться по уже описанной схеме и предсказываемые, которые формируют разность, текущего макроблока и подобного ему предыдущего I или P блока. В основном, в P – блоках используется вторая схема.

В - кадры - сжатые с использованием ссылки на два изображения (В - Bidirection). Могут быть I, P и B – типа. Могут кодироваться с предсказанием вперёд, назад, и интерполируемые, как полусумма обоих предсказаний. В данном случае кодеру предстоит наиболее сложная работа по выбору наиболее эффективного варианта, реализующего компромисс между длиной кода и качеством восстанавливаемого изображения. Положительным является тот факт, что при этом не происходит накапливания ошибок в отличие от предыдущих этапов.

ВС - кадры - независимо сжатые с большой потерей качества (используются только при быстром поиске).

Каждый кадр, таким образом, кроме служебной информации включает в себя переменное число кодов

Кадры P - типа, или предсказанные кадры, обычно следуют через два B - кадра.

Поскольку B - кадры ссылаются как назад, так и вперед по последовательности, то для оптимизации процесса воспроизведения кадры в потоке перераспределяются следующим образом: компенсация движения является методом увеличения степени сжатия Р - и В - кадров путем использования информации из предыдущих кадров. Этот алгоритм действует на уровне макроблоков и обеспечивает примерно трехкратное сжатие по сравнению с I - кадрами.

Сжатый с его использованием кадр содержит дополнительно вектор перемещения макроблока, на который имеется ссылка и отличия между кодируемым макроблоком и макроблоком по ссылке.

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

Для B - кадра компенсация движения может осуществляться как вперед, так и назад, поэтому для данного типа возможно четыре варианта кодирования макроблоков:

Обратное предсказание применяется тогда, когда нет возможности выполнить прямое.

Частота I - кадров выбирается в зависимости от требований на время произвольного доступа. Соотношение Р - и В - кадров подбирается, исходя из требований к величине компрессии и ограничений декодера. Именно варьирование частоты кадров разных типов обеспечивает алгоритму необходимую гибкость и возможность расширения.