ENGLISH VERSION HERE

MSU Lossless Video Codec
лучший по сжатию среди кодеков без потерь

MSU Graphics & Media Lab (Video Group)

Проект, идеи: Дмитрий Ватолин
Идеи, реализация алгоритма кодека: Дмитрий Попов
Ver.0 кодека, шумодав, быстрая компенсация: Сергей Путилин

News:
[19.09.2005] Выложена версия 0.6.0.
[20.03.2005] Выложена версия 0.5.8.
[14.02.2005] Выложена версия 0.5.6.
[06.02.2005] Выложена версия 0.5.2.
[01.10.2004] Выложена версия 0.2.4 patched, с багфиксами в инсталляторе (Uninstall & Win98)!
[24.09.2004] Выложена версия 0.2.4, с багфиксами в инсталляторе.
Скачать! (v0.6.0)

Изменения в версии 0.6.0:

  • Реализован новый алгоритм сжатия. Скорость компресии увеличена в 1.5-2 раза, скорость декомпрессии увеличена в 2-2.5 раза.
  • Интерфейс стал более простым и наглядным.
  • Поддерживается разжатие файлов, закодированных предыдущими версиями (0.5.х), поддерживается сжатие старым алгоритмом.

Изменения в версии 0.5.8:

  • Теперь все гарантированно работает в Win98.
  • Заметно улучшена скорость в режиме без визуальных потерь (+10-12%), несколько улучшено сжатие.

Изменения в версии 0.5.6:

  • Скорость компрессии увеличена в 1.7 раза!
  • Исправлена ошибка с неправильным показом сжимаемой картинки в VirtualDub

Изменения в версии 0.5.2:

  • Ощутимо выросла степень сжатия без потерь (до +10%)!
  • Скорость компрессии увеличена в 2.5 раза!
  • Добавлена поддержка YV12, теперь кодек принимает на входе RGB24, RGB32, YUY2, YVYU и YV12.
  • Теперь работает в Adobe Premiere.
  • Управляемая скорость сжатия.
  • Можно отключать P-фреймы, можно установить максимальный интервал для ключевых кадров.
  • Поддерживается пакетный режим VirtualDub и сохранение настроек в других программах.
  • И самое главное - к 250-летию МГУ сменилась картинка в настройках! ;)

Данный кодек предназначен для сжатия видео без потерь (используется при сохранении мастер-копии видео или вариантов промежуточного рендеринга).


Сравнение степени сжатия нескольких кодеков


Мы сравнили результаты работы предлагаемого алгоритма и результаты работы других доступных алгоритмов.

Сравнение производилось в основном на классических последовательностях, используемых для сравнения кодеков, характеристики которых приведены ниже. Нами также добавлены две последовательности ms2.avi и ms32.avi - фрагменты из фильма "Матрица", сжатого кодеком DivX.

Название

Разрешение и
количество кадров

Размер файла, Mb

bus.avi

352x288, 150

43,52

flower.avi

352x288, 250

72,52

foreman.avi

352x288, 300

87,03

mobl(resized).avi

352x288, 373

108,2

waterfall.avi

352x288, 260

75,42

ms2.avi

640x272, 250

124,52

ms32.avi

640x272, 200

99,62

Для сравнения использовались следующие кодеки:

Кодек без потерь

Версия

HuffYUV

2.1.1

CorePNG

0.8.2

Alparysoft Lossless Video Codec

1.6

CamCodec

1.0

LEAD JPEG

1.0.0.17

PicVideo JPEG

2.10.0.18

AVIzlib

2.2.3

Lagarith

1.3.6

FFV1 (из ffdshow)

19.06.05

H264 Lossless (из ffdshow)

19.06.05

MSU Lossless Video Codec

0.2.4

MSU Lossless Video Codec

0.5.2

MSU Lossless Video Codec

0.6.0

Сравнение производилось в цветовом пространстве RGB и цветовом пространстве YUV, поскольку, как правило, модели, используемые кодеками, и их эффективность заметно различаются в зависимости от используемого цветового пространства. Кроме того, не все кодеки поддерживают YUV, хотя сжатие в нем, как правило, заметно эффективнее.

Как видно из приведенных ниже графиков, MSU Lossless Video Codec показывает наилучший результат по сравнению со всеми доступными видеокодеками.


Настройки


В главном окне настроек кодека можно выбрать два основных параметра кодирования - качество видео и режим сжатия. При настройке качества доступны следующие варианты:

  • Absolutely lossless - режим сжатия абсолютно без потерь: данные после распаковки побитово совпадают с исходными. При этом степень сжатия меньше, чем в других режимах. На входе могут быть данные в формате RGB, YUY2 и YV12. Выходные данные будут в том же формате, что и входные.
  • Allow colorspace conversion - работает с данными в формате YV12. Т.е. если исходный материал был в форматe YV12 (12 бит), а часто это именно так, то данные после распаковки совпадают с исходными. Если же материал был в RGB (24 бита) или YUY2 (16 бит), то будут потери перевода в формат YV12. Степень сжатия существенно выше.

    Также кодек позволяет задавать т.н. сжатие "без визуальных потерь". Это означает, что в отличие от обычных кодеков, где задается битрейт и кодек должен его выдержать, не взирая на потери, в этом кодеке можно задать небольшие (как правило, не видимые глазом) потери, при которых степень сжатия будет иногда заметно выше.

  • Allow denoising - отличается от предыдушего режима тем, что данные проходят через незначительное шумоподавление. Визуально качество картинки не меняется, а степень сжатия возрастает.
  • Allow stronger denoising - отличается от предыдущего более сильным шумоподавлением. Визуально качество изображения не ухудшается (скорее наоборот - улучшается), а степень сжатия становится еще больше. В окошке дополнительных настроек, вызываемом кнопкой Advanced, при желании можно установить параметры шумоподавления, чтобы получить желаемое соотношение сжатие/качество.

Режим сжатия (Mode) влияет на степень сжатия и на скорость сжатия и распаковки при заданном уровне качества. В главном окне можно выбрать один из предустановленных вариантов настроек либо режим ручной настройки, позволяющий самостоятельно выбрать все параметры (по кнопке Advanced).

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

При сжатии interlaced последовательностей можно включить опцию Compressing interlaced movie. Это в некоторых случаях дает улучшение степени сжатия.

Окно Advanced:

При изменении любых параметров на графике видно, как и на что они влияют.

Пункт Compression method позволяет выбрать алгоритм сжатия - новый или старый. Новый существенно быстрее в сжатии и воспроизведении, а старый обычно позволяет сжимать сильнее (хотя на некоторых файлах новый сжимает лучше).

В области Denoising задаются параметры шумоподавления.

  • Temporal denoising threshold управляет временной составляющей шумоподавления. Принимает целые положительные значения. Режиму Good compression соответствует значение 30. Режиму High - 50.
  • Spatial denosing intensity управляет пространственной составляющей шумоподавления. Принимает вещественные положительные значения. Режиму Good compression соответствует значение 4. Режиму High - 20.
В области Delta-Frames задаются параметры использования кадров, опирающихся на предыдущие.
  • Enable Delta-Frames включает поддержку дельта-кадров. Если ее отключить, то все кадры будут ключевыми. Это приведет к увеличению размера файла, поэтому лучше не отключать эту опцию, если у вас нет на то веских причин.
  • Force Key-Frames включает режим, когда ключевые кадры вставляются не реже, чем через заданное число кадров. Т.е. например, при значении 25 между двумя ключевыми кадрами не может быть больше 24 дельта-кадров.
В области Motion Estimation задаются параметры компенсации движения. Можно выбрать один из пресетов или включить/выключить все параметры вручную.
  • FullSearch включает применение переборного алгоритма. Сжатие становится медленнее, но сильнее.
  • After DVD or DivX: включение этой опции позволяет улучшить сжатие на тех фильмах, которые уже были когда-то сжаты каким-либо кодеком.
  • PP-frame - поиск в позапрошлом кадре. Слегка замедляет, но немного улучшает сжатие. Рекомендуется держать включенным.

Download


MSU Lossless video codec Beta, версия 0.6.0 от 19.09.2005

Известные проблемы:

  • Плохо себя ведет при прерывании сжатия по Abort в VDub.
  • (Если заметите какие-то проблемы - пожалуйста, пишите!)

Связаться с нами можно по адресу: 


Другие материалы


Материалы по видео


Смотрите также материалы:
- По цветовым пространствам
- По JPEG
- По JPEG-2000