Форматы сжатия
Рассмотрим возможные форматы сжатия видео. Как всегда, Microsoft позаботилась о своих любимых пользователях, предоставив полную поддержку формата WMV (Windows Media Video) как на настольном ПК, так и на КПК. Для подготовки видеоматериала в формате WMV проще всего воспользоваться имеющейся в составе Windows ХР программой Movie Maker, которая с задачей перекодирования видео для наладонника справляется вполне успешно. Кроме того, Movie Maker обладает расширенным набором пресетов (предварительных настроек) для экспорта видео, в том числе и для Pocket Media Player – предустановленного проигрывателя мультимедийных файлов. Обратная сторона простоты использования – небольшой выбор параметров результирующего видео.
Более продвинутый вариант подготовки видеоматериала в формате WMV – использование Windows Media Encoder. По сравнению с Movie Maker у Windows Media Encoder есть некоторые преимущества, в частности: более гибкие настройки параметров компрессии и возможность редактирования встроенных профилей кодирования. Однако, Windows Media Encoder иногда отличается некоторой нестабильностью работы.
Но, есть и альтернатива закрытому стандарту Windows Media от Micro$ofta. Это открытый стандарт сжатия MPEG-4. Каковы возможные преимущества этого стандарта? В том, что он открыт для всех, желающих создать свой проект. Поэтому, уже сейчас существует множество разных продуктов, совместимых как со стандартом MPEG-4, так и друг с другом.
Стандарт MPEG-4 разделён на множество разных подстандартов, из которых к видео относятся:
ISO 14496-2.Продвинутый Простой Профайл (Advanced Simple Profile – ASP). На данное время доступны следующие ASP кодеки: XviD, DivX, DivX4/OpenDivX, ffmpeg/ffvfw/ffdshow, 3ivx, Nero Digital, Skal, Quicktime, mpegable, Envivio, Sorenson и многие другие.
ISO 14496-10. Продвинутое Кодирование Видео (Advanced Video Coding – AVC), так же известное как H.264. В настоящее время наиболее доступны следующие реализации AVC/H.264: x264, MainConcept, Ateme, ffdshow и Nero (тот же Ateme).
Кодеки AVC обеспечивают лучшее сжатие и качество картинки, но, к сожалению, нет полной поддержки всех возможностей этого стандарта проигрывателями на КПК. Поэтому, MPEG-4 AVC – дело будущего и, судя по темпам развития не очень отдаленного. Мы же пока, говоря о MPEG-4, будем подразумевать именно ASP кодеры.
Зачем сжимать и чем нам это грозит?
На первую часть вопроса мы частично ответили в начале статьи. Допустим, мы сохраняем видео без сжатия с размером кадра 352х288 пикселей и цветностью 24 бит на пиксель. Для сохранения минуты видео потребуется примерно 435 Мбайт. В этом и есть основная проблема цифрового видео – неимоверные размеры файлов.
Для борьбы с таким аппетитом существует два основных способа: уменьшение основных параметров видеоряда (размер кадра, кодировка цвета и частота кадров) и сжатие.
Сжатие разделяют на два типа: «без потери качества» и «с потерей качества». Разница между этими типами понятна из их названия. Максимальная степень сжатия, достигаемая с помощью алгоритмов «без потерь», не превышает 3 к 1, поэтому они не очень помогут в решении нашей задачи. В то время, как алгоритмы, работающие с потерей качества, могут сжимать вплоть до 100 к 1 по отношению к несжатому потоку.
Каким же образом методы сжатия видео достигают столь впечатляющих результатов? Как известно, пороговая частота дискретного восприятия человеком сменяющих друг друга графических образов – 25 кадров/сек. В силу этого обстоятельства, наличие в выходном потоке большего числа кадров не оправдано. Более того, смежные кадры содержат одни и те же объекты сцены. Следовательно, хранение каждого из кадров можно заменить хранением изменений, произошедших со времени показа предыдущего кадра. Таким образом, весь фильм можно представить в виде последовательности ключевых кадров, сохраненных с небольшим коэффициентом сжатия и промежуточных (зависимых) кадров, ссылающихся на предыдущие ключевые или зависимые кадры. Зависимые кадры минимальны по размеру и содержат только изменения, которые претерпела сцена. При этом, алгоритм выясняет то, что глаз может не заметить, и выбрасывает это, а затем вычисляет лучший способ для сохранения оставшегося. Вот за счет этого и достигается впечатляющая экономия дискового пространства.

А к каким проблемам приводит сжатие видео? Оно приводит к, так называемым, артефактам. Артефакты – это видимые нарушения качества видео, возникающие в процессе сжатия с потерями. Искажения, получаемые при сжатии, варьируются от алгоритма к алгоритму. Наиболее часто встречающийся артефакт сжатия – разбиение картинки на квадратные блоки. Также часто наблюдаются: «мусор» рядом с контрастными границами и движущимися объектами, «волнующиеся» и «расплывшиеся» цвета или «замыливание» картинки.
Читать дальше