Mpeg и домашнее видео
Предварительные замечания.
В "MPEG-мире" принято скорость потока видеоданных
выражать не в мегабайтах/сек, а в килобитах/сек. Чтобы не смешивать
разные скорости, все дальнейшие величины приводятся в килобитах/сек.
Требования к качеству у всех разные.
Наглядно это видно в "аудиомире": молодёжь(определённого
рода, не буду углубляться в классификацию...) слушает бумбоксы
за 200$ на дикой громкости и "торчит", а аудиофилы
слушают компонентную систему за 2000$ и вздыхают - "недостаточно
прозрачна верхняя середина" :-). То же самое и с видео,
поэтому все нижеследующие оценки качества отражают моё ЛИЧНОЕ
МНЕНИЕ "продвинутого чайника" и ни в какие споры ни
с "ламерами", ни с "профессионалами" я вступать
не намерен! Я также сознательно упростил "теорию"
и не надо меня учить что такое "на самом деле" кодирование
MPEG-2 :-)
Эксперименты с JPEG. Начало.
Эксперименты с реальными фильмами требуют заметного количества
времени, поэтому основные закономерности гораздо быстрее и проще
проиллюстрировать на примере неподвижных изображений. Возьмите
качественный "несжатый" TIFF, "естественный"(например,
пейзаж), с достаточным количеством резких границ и мелких деталей,
размером примерно 600х800 (чтобы смотреть на экране в режиме
100%). В нём цвет каждой точки кодируется отдельно, "по-честному".
Это - МАКСИМАЛЬНОЕ(эталонное) качество в рамках 24-битной цветовой
модели. Но человеческий глаз имеет некоторые особенности, и
воспринимает не всю информацию, и поэтому можно УДАЛИТЬ (навсегда!)
часть данных без заметной потери качества (формат JPEG). В фотошопе
или даже в ACDSee попробуйте посжимать картинку с разными параметрами
"качества" и найдите отношение размеров исходного
файла и JPG-а при котором искажения ещё практически незаметны.
Получится коэффициент в диапазоне 10-25 в зависимости от картинки
и Вашей "строгости". При большем сжатии артефакты
явно заметны (цветные ореолы, квадратная структура), а ведь
в динамике это "безобразие" ещё и шевелится :-)...
Теперь сожмите другой программой. ЗАМЕТНОЙ разницы в значении
порогового коэффициента скорее всего не будет. Максимум - 10-20%.
Я осмелюсь утверждать что НЕВОЗМОЖНО(и в будующем) повысить
этот коэффициент в разы - чудес не бывает, информация никуда
не девается, нельзя всё богатство пейзажа уместить в несколько
байт... Все фрактальные игрушки любят демонстрировать на СПЕЦИАЛЬНО
ПОДОБРАННЫХ исходных картинках, а речь здесь идёт про СЛУЧАЙНОЕ,
ПРОИЗВОЛЬНОЕ изображение.
Что отсюда следует для видео? Разрешение
видеосигнала определено TV-стандартом, его "компьютерный"
аналог примерно 720х576. Отсюда при 25 кадрах в секунду получим
примерно 250 000 кбит/c ("несжатое" видео). Применим
к каждому кадру JPEG с тем самым "безопасным" коэффициентом
10-25. Получим 10000-25000 кбит/с(в зависимости от оригинала).
Как известно, DV-формат - аналог JPEG-сжатия, и поток у него
28000 (узнаёте? - чтобы наверняка для ЛЮБОГО оригинала). Таким
образом, в большинстве случаев, дальнейшее покадровое сжатие
DV-формата НЕЦЕЛЕСООБРАЗНО, т.к. приводит к заметным артефактам.
Почему MPEG компактнее и что
для этого нужно.
Получается, что 20000-30000кбит/с - предел? (Это 3-4 минуты
на CD-R и 20-30 минут на DVD-болванке)
Строго говоря, для ЛЮБОГО ПРОИЗВОЛЬНОГО изображения из НЕЗАВИСИМЫХ
между собой кадров - ДА!
А как же прекрасное качество DVD (5000-8000)?
Ответ: в РЕАЛЬНЫХ фильмах последовательные кадры обычно взаимозависимы
и формат MPEG это использует. Грубо говоря, мы сжимаем JPEG-ом
не каждый кадр, а РАЗНИЦУ между соседними кадрами. Поскольку
камера в ПРОФЕССИОНАЛЬНЫХ фильмах всегда стоит на штативе либо
на рельсах, то часто изменения заднего плана незначительны либо
однообразны, и поэтому легко жмутся. Динамичные же сцены (взрывы
и пр.) обычно "занимают" скорость у "спокойных"
кусков за счёт применения переменного битрейта...
Представим как выглядит разностный кадр для объекта движущегося
на неподвижном фоне (используется штатив). Очевидно, весь фон
представляет из себя однотонную плоскость (в RGB модели - чёрную),
и лишь небольшая часть кадра ("объект") имеет контрастный
с фоном цвет. Вернёмся к экспериментам с JPEG в Фотошопе. Подберите
сами аналогичную картинку и попробуйте - результаты впечатляют...
Итак, я подобрал картинку из Берлина (фрагмент фотографии из
альбома "Европа-98") - однотонный фон(небо) и небольшой
контрастный объект. Размеры 720х546. Выглядит она примерно так:
Далее я сжал её в JPEG так, что артефакты только-только начали
появляться. Получилось 12К. После этого три раза проделывалась
однотипная операция: к исходной картинке(несжатой) применялся
фильтр "добавить шум" (с разными значениями шума)
и затем она сжималась JPEG так чтобы получилось 12К. Фрагменты
того что получилось:
Наглядно видно, какие "дикие" артефакты появлются
на зашумлённой картинке после сжатия. На фрагментах не очень,
но на целом кадре (а лучше на нескольких) можно заметить, что
даже шум в 20 единиц на несжатом изображении практически не
раздражает. Он как-то сам фильтруется глазами и мы всё равно
ясно представляем себе что там за объект (то же самое происходит
когда мы смотрим старую VHS-ленту или слушаем кассету на магнитофоне).
Наоборот - артефакты сжатия, грубые полосы и квадраты раздражают,
и к ним глаз привыкать "не хочет". Чтобы артефакты
не росли с зашумлённостью приходится жать не с одинаковым размером,
а с одинаковым "качеством". Тогда размеры заметно
растут с ростом шума. В данном примере при одном и том же параметре
"quality" получалась примерно такая линейка размеров:
12:24:36:48.
Что это означает для видео? Только то, что само по себе значение
битрейта - не гарантия высокого качества, многое зависит от
качества исходного материала. Например если исходный материал
содержит шумы, то чтобы не появились артефакты приходится поднимать
битрейт в разы...
При ИДЕАЛЬНЫХ условиях профессионального DVD-производства MPEG-2
даёт выигрыш (к JPEG) примерно в 4-5 раз (назовём это "MPEG-добавка").
Ещё раз сформулируем эти идеальные условия в виде таблицы:
Условие
|
Профи
|
Мы, любители
|
Цветовой шум камеры |
Низкий. Профессиональные камеры за десятки
тысяч долларов отличается от любительских за 600 не столько
разрешением (оно практически одинаковое) и цветопередачей
(она лучше, но не определяет цену). Они отличаются большой
по размеру (не по пикселям!) матрицей - и соответственно
очень низким шумом. |
Высокий, особенно в помещении. Матрицы
большинства камер всего 1/6" |
Дрожание фона |
Полностью отсутствует. Штативы, рельсы,
наплечные камеры. |
Присутствует всегда, особенно у лёгких
камер и на длинных фокусах... |
Освещение |
Ставится специально, даже ночные сцены
обычно снимают с подсветкой и "затеняют" уже потом,
при монтаже. |
Часто не контролируется оператором вообще.
В результате в сумерках и в помещении матрица работает с
повышенным шумом. |
Промежуточное сжатие, которое тоже можно
рассматривать как небольшой шум. |
Отсутствует - в МПЕГ кодируется несжатый
оригинал. |
DV-сжатие присутствует по определению... |
Я допускаю мысль что дальнейшее
улучшение алгоритмов увеличит "MPEG-добавку" раза
в полтора, но СКОРЕЕ ВСЕГО НЕ БОЛЬШЕ. Кстати, MPEG4 вопреки
шумихе НЕСИЛЬНО лучше чем MPEG2 - процентов на 10 на высоких
битрейтах. А пресловутые компакты с DivХ положа руку на сердце
никто не назовёт НАСТОЯЩИМ DVD-качеством.
И что выходит на практике?
Практика показывает, что "домашнее" видео на любительских
камерах (из-за невыполнения вышеперечисленных условий, прежде
всего из-за шума и тряски) жмётся примерно ВДВОЕ хуже профессионального,
т.е. при одном и том же качестве должно занимать вдвое больший
объём.
Полученные данные легко представить
в виде таблицы.
Материал
|
JPEG-сжатие (Kj)
|
MPEG-добавка (Km)
|
Получившийся "теоретический"
порог (250000/Kj/Km), кбит/c
|
Идеальное качество (кбит/c)
|
Сносное качество (кбит/c)
|
Профессиональный,
"лёгкий" (мелодрамы, крупный план, порнуха) |
20
|
5
|
2500
|
3000-5000 (DVD)
|
1500-2000 (DivX) |
Профессиональный,
"трудный" (боевики, мелкие детали, взрывы) |
10
|
4
|
6200
|
6000-8000 (DVD)
|
3000-4000 (DivX),
при 1000-2000 артефакты уже слишком заметны, хотя такие
диски и продают... |
Любительский, "лёгкий"(например,
дети крупным планом, свадьбы) |
20
|
2,5
|
5000
|
6000-8000 (DVD-R, MPEG-2)
|
3000-4000 (DivX,
20-30минут/CDR) |
Любительский, "трудный"
(например, речные пороги и водопады, либо обычные но сильно
зашумлённые сюжеты типа оцифровки старых VHS) |
10
|
2,0
|
12500
|
9000 (DVD-R, MPEG-2,
с отдельными мелкими артефактами в трудных местах) |
7000-8000 (DVD-R,
MPEG-2) |
Выводы и советы.
Если фирменная мелодрама/порнуха влезает по часу на один CD-R,
это не значит, что туда можно запихать Ваши панорамные съёмки
пейзажей и архитектуры с мелкими деталями, снятые с рук дешёвой
трясущейся камерой из окна автобуса... Точнее, можно, но только
либо 10 минут, либо препоганейшего качества.
MPEG - не средство ХРАНЕНИЯ. В лучшем случае - средство окончательной
ДЕМОНСТРАЦИИ (DVD). Перемонтировать с него без дальнейших потерь
врядли удастся. Для хранения оригиналов качественнее и проще,
и часто даже дешевле цифровые видеокассеты (miniDV, D8).
MPEG4/DivX - не панацея и годится лишь для очень "гладких"
сюжетов ("медленные младенцы" крупным планом и пр.)
Революционной разницы с MPEG2 он НЕ ДАЁТ. Небольшое количественное
улучшение...
...и поэтому если ваши шедевры короткие (10-15минут), а записать
их на болванку всё равно не терпится - не экономьте на болванках(плюньте
на DivX), а жмите их сразу в MPEG2 c битрейтом 6000-8000 (в
т.н. "DVD-совмеcтимом" формате). Позже, когда купите
DVD-RW, Вы легко создадите на основании этих клипов полноценный
DVD-диск НЕ ПЕРЕКОДИРУЯ их, а, следовательно, не теряя больше
в качестве.
Кстати, DVD-R уже давно не роскошь. Устройство - 100$, хорошая
болванка - 2$, "просто" болванка - 1$ (лето 2004).
Дальше будет ещё дешевле.
Жать в MPEG2 лучше всего CanopusProCoder-ом. Более подробно
об изготовлении собственных DVD-дисков - здесь.
Если планируется собственные съёмки жать в МПЕГ, полезно чаще
вспоминать таблицу "идеальных условий" - купить и
научиться пользоваться штативом и/или наплечным штативом, не
делать резких "скачков" камерой, не увлекаться длинным
фокусом с рук, обращать внимание на освещение и т.п....
Источник