В отличие от универсальных архиваторов (вроде WinRar или WinZip), сжатие видео может происходить с некоторыми потерями, величина которых зависит от выбранного кодека. Современные алгоритмы сжатия прибегают к всестороннему логическому анализу видеоролика с целью извлечь повторяющиеся куски между кадрами и уменьшить размер конечного файла. При воспроизведении сжатая информация «раскрывается», и уже после этого демонстрируется пользователю. Раскрытие изображений, сжатых некоторыми кодеками, может потребовать большого времени от маломощного компьютера.
Существует множество технологий сжатия цифрового видео. Некоторые из рассматриваемых компрессоров используют не одну технологию сжатия, а некоторую их совокупность. Например, и Indeo 3.2, и Cinepak используют векторную квантизацию. Международные стандарты MPEG-1, MPEG-2, MPEG-4, H.261 и H.263 используют комбинированную технологию БДКП и компенсацию движения. Некоторые современные алгоритмы используют технологию ДВП (Discrete Wavelet Transform, или DWT). Другие технологии включают Фрактальное сжатие изображений (Fractal Image Compression).
Сжатие без потерь качества
Сжатие изображений может осуществляться без потерь качества лишь в том случае, если в процессе сжатия не было потерь данных. В результате полученное после декомпрессии изображение будет в точности (побитно) совпадать с оригиналом. Примером такого сжатия может служить формат GIF для статической графики и GIF89a для видео.
Сжатие с потерями качества
Сжатие может происходить с потерями качества, если в процессе сжатия информация была потеряна. Однако с точки зрения человеческого восприятия сжатием с потерями следует считать лишь такое сжатие, при котором возможно на глаз отличить результат сжатия от оригинала. Таким образом, несмотря на то что два изображения - оригинал и результат сжатия с использованием того или иного компрессора - побитно могут не совпадать, тем не менее разница между ними может быть совсем незаметной. Примером может служить алгоритм JPEG для сжатия статической графики и алгоритм M-JPEG для сжатия видео.
Сжатие без потерь с точки зрения восприятия
Формально являясь сжатием с потерями качества, схема сжатия может в то же время казаться сжатием без потерь с точки зрения восприятия ее человеком. Большинство технологий сжатия с формальной потерей качества имеют так называемый Фактор Качества Сжатия (ФКС), характеризующий именно воспринимаемую сторону качества и варьирующийся в пределах от 0 до 100. При факторе качества сжатия равном 100 воспринимаемые характеристики качества сжатого видео неотличимы от оригинала.
Сжатие с естественной потерей качества
JPEG и MPEG и другие технологии сжатия с потерей качества иногда сжимают, без потерь переступая за грань сжатия с точки зрения восприятия видеоинформации. Тем не менее сжатые видео и статические изображения вполне приемлемы для адекватного восприятия их человеком. Иными словами, в данном случае наблюдается так называемая естественная деградация изображения, при которой теряются некоторые мелкие детали сцены. Похожее может происходить и в естественных условиях, например при дожде или тумане. Изображение в таких условиях, как правило, различимо, однако детализация его уменьшается.
Сжатие с неестественными потерями качества
Низкое качество сжатия, в значительной степени искажающее изображение и вносящее в него искусственные (не существующие в оригинале) детали сцены, называется неестественным сжатием с потерей качества. Примером тому может служить некоторая «блочность» в сильно сжатом MPEG-е и в других компрессорах, использующих технологию БДКП. Неестественность заключается в первую очередь в нарушении самых важных с точки зрения восприятия человеком характеристик изображения - контуров. Опыт показывает, что именно контуры позволяют воспринимающему аппарату человека правильно идентифицировать тот или иной визуальный объект.
Все широко используемые видеокомпрессоры используют технологии сжатия с потерями качества. При достаточно высоких коэффициентах сжатия все они будут сжимать с неестественной потерей качества.
Таким образом, выбирая тот или иной компрессор для сжатия цифрового видео, необходимо достичь сжатия, по крайней мере с естественными потерями качества.
Для сжатия видео используют различные кодеки
Run Length Encoding
Компрессорами, использующими технологию RLE, являются:
Microsoft RLE (MRLE) RLE используется также для кодирования коэффициентов в БДКП, применяющемся в MPEG-1234, H.261, H.263 и JPEG.
Достоинства и недостатки
1. Работает исключительно с 8-битовыми изображениями.
2. Не подходит для сжатия полноцветного видео.
Обзор
RLE кодирует последовательность повторяющихся элементов изображения или одноцветных элементов одним кодовым словом. Например, последовательность элементов изображения 77 77 77 77 77 77 77 может быть закодирована как 7 77 (для семи 77-рок). RLE хорошо сжимает изображения, в которых наблюдается повторение контуров или цветов отдельных элементов. В полноцветных изображениях повторений цвета значительно меньше, поэтому сжатие полноцветного видео с использованием технологии RLE лишено всякого смысла.
Векторная квантизация (Vector Quantization,VQ)
Компрессорами, использующими технологию VQ, являются Indeo 3.2 и Cinepak. Оба они применяют цветовую схему YUV (а не RGB).
Достоинства и недостатки
1. Процесс кодирования очень трудоемок и практически неосуществим без специального дополнительного оборудования.
2. Процесс декодирования очень быстр.
3. Блоковые искажения при высоких коэффициентах сжатия.
4. Технологии, использующие алгоритмы БДКП, ДВП могут достигать более высоких уровней сжатия.
Обзор
Основная идея векторной квантизации заключается в разбиении изображения на блоки (размером 4x4 пиксела в цветовой схеме YUV для компрессоров Indeo и Cinepak). Как правило, некоторые блоки оказываются похожими друг на друга. В этом случае компрессор идентифицирует класс похожих блоков и заменяет их одним общим блоком. Кроме того, генерируется двоичная таблица (карта) таких общих блоков из самых коротких кодовых слов. VQ-декодер затем, используя таблицу, собирает изображение поблочно из общих блоков. Ясно, что данный способ кодирования с потерями качества, так как, строго говоря, схожесть блоков весьма относительна. Здесь допускается аппроксимация реальных блоков изображения к общему, их объединяющему. Процесс кодирования длителен и трудоемок, так как кодеру необходимо выявлять принадлежность каждого блока изображения к какому-нибудь общему блоку. Однако задача декодирования в этом случае сводится к задаче построения изображения по заданной карте из общих блоков и не занимает много аппаратных и временных ресурсов. Таблицу или карту также называют еще и кодовой книгой, а двоичные коды, входящие в нее, - кодовыми словами, соответственно. Наибольшее сжатие с использованием алгоритма VQ достигается путем уменьшения числа классов общих блоков, то есть предположением о схожести относительно большего числа блоков изображения, и, как следствие, уменьшением кодовой книги. По мере уменьшения размеров кодовой книги качество воспроизводимого видео ухудшается. В результате на изображении появляется искусственная «блочность».
Простой пример: сравним три следующих блока 4 x 4.
(Блок 1) 128 128 128 128128 128 128 128128 128 128 128128 128 128 128 | (Блок 2) 128 127 128 128128 128 128 128128 128 127 128128 128 128 128 | (Блок 3) 128 127 126 128128 128 128 128127 128 128 128128 128 128 128 |
Эти три блока для человеческого глаза неотличимы. Таким образом, 2-ой и 3-ий блоки можно спокойно заменить первым. Тогда кодовая книга будет иметь следующий вид:
Кодовая Книга[1] = 128 128 128 128
128 128 128 128
128 128 128 128
128 128 128 128
Важной особенностью технологии VQ является то, что при сжатии видео одна и та же кодовая книга может использоваться для нескольких кадров изображения.
Дискретное Косинусное Преобразование (ДКП)
Компрессоры, использующие ДКП: Motion JPEG; Editable MPEG; MPEG-1; MPEG-2; MPEG-4.
Достоинства и недостатки
1. «Блочность» при высокой компрессии.
2. Закругление острых углов изображения. Случайное «размывание» острых краев изображений.
3. Кодирование очень трудоемко. Только в последнее время удалось осуществить процесс кодирования программно, а не аппаратно.
Обзор
ДКП является широко используемым при сжатии изображений преобразованием. Стандарт сжатия статической графики JPEG, используемый в видеоконференциях стандарт H.263, цифровые видеостандарты MPEG (MPEG-1, MPEG-2 и MPEG-4) — все они используют ДКП. В этих стандартах используется, в частности, 2-мерное ДКП, применяемое последовательно к блокам изображения размерностью 8 x 8 пикселов. ДКП вычисляет 64 (8x8 = 64) коэффициента, которые затем квантизуются, обеспечивая тем самым реально сжатие. В большинстве изображений большинство ДКП-коэффициентов в силу своей малости после квантизации обнуляется. Это свойство ДКП и лежит в основе множества алгоритмов сжатия, использующих ДКП.
Вдобавок известно, что человеческий глаз гораздо менее чувствителен к высокочастотным компонентам изображения, представляемым большими коэффициентами ДКП. К этим большим значениям коэффициентов может быть применен (и, как правило, применяется) больший фактор квантизации. В частности, матрица 64 факторов квантизации для каждого из 64 коэффициентов ДКП, применяемая в алгоритме JPEG, имеет большие факторы квантизации для коэффициентов ДКП, соответственно, большей частоты. После квантизации коэффициенты подвергаются алгоритму RLE. Далее для частых комбинаций используются короткие кодовые слова, для более редких - относительно длинные. Осуществляется вероятностное кодирование.