"DIVX ;)". БЫЛ, ЕСТЬ И БУДЕТ ЕСТЬ!

Спецвыпуск Xakep, номер #017, стр. 017-018-2


ТЕХНОЛОГИЯ

"DivX" принадлежит к семейству кодеков из серии MPEG-4. Это, конечно, не полнокровный MPEG-4, в стандарт которого входит уйма приятностей. Кроме уже привычных нам субтитров, нескольких потоков разноканального звука, стандарт MPEG-4 поддерживает интерактивность, многослойность видео, графику поверх видео и еще кучу всего. А "DivX" предназначен изначально для передачи видеоданных (телеконференции, трэйлеры фильмов) со звуком по среднескоростным сетям Интернета и просмотра этих видеоданных на компьютере. Отсюда вытекают его упрощения и ограничения, которые некоторые злопыхатели пытаются ставить в вину всему стандарту MPEG-4. Дескать, и жмет он слишком сильно, и искажений больше, чем у MPEG-2 (DVD), и субтитров нет, и интерлейс записать нельзя...

Как у всех нормальных MPEG кодеков, у DivX есть ключевые кадры (КК), по-аглицки - Key Frames (KF), в которых записывается основная информация о видеопотоке, и дельта кадры (ДК), по-аглицки - Delta Frames (DF), в которых, для уменьшения потока (массы файла) записываются только изменения по отношению к предыдущему кадру. Следовательно, мы доперли до краткого описания серии MPEG стандартов: MPEG - это формат, который сжимает некий (аудио, видео) поток на основе удаления излишней информации. Как это выглядит на простом примере, показано на рисунке 1.

СОВЕРШЕНСТВОВАНИЕ ТЕХНОЛОГИИ

LM И FM

Первым усовершенствованием изначального кода M$ была попытка сделать кодек для быстрых сцен. Оригинальный код и его вскрытый собрат давали сильную грязь на местах быстрого сдвига объектов, так как, видимо, были в основном рассчитаны на неподвижно сидящего человека перед камерой для телеконференции, и его доработали до кодека "DivX Fast Motion" (FM). Это позволило кодировать фильмы с быстрыми сценами. Кодер же, изначально полученный из M$ варианта, был назван "Low Motion" (LM) - рисунок 2.

Неотъемлемое свойство этих двух кодеров - их отношение к заданному потоку. LM старается поддерживать поток на заданном уровне и может лишь чуть-чуть уменьшить или увеличить его. Скажем, абсолютно черную картинку нет смысла кодировать с большим потоком, поток из пальца не высосешь, как уж сожмется, но очень сложную картинку LM старается закодировать в пределах потока, лишь иногда немного превышая его, поддерживая при этом поток на среднем заданном уровне.

FM, в отличие от LM, старается зажать видеоинформацию по максимуму, не обращая внимания на заданный уровень, и в результате более-менее ровные заливки (стена, небо, лицо крупным планом) превращаются у него в мозаику, несмотря на то, что поток при этом меньше заданного в десятки раз! Простой пример - концерт великого тенора Паваротти. Очень статичная картинка. Конечно, ее нужно цифровать только через LM, но ради эксперимента зададим кодирование кодеком FM с потоком 3000 килобит - очень высокий поток, качества DVD. И получаем результат, посмотрите на увеличенное лицо мастера Лучиано (рисунок 3). К чести FM надо сказать, что качество движущихся объектов и сложных сцен он кодирует чище, чем LM.

Назад на стр. 017-018-1  Содержание  Вперед на стр. 017-018-3