Как работают видео-кодеки в современных фотоаппаратах
При выборе фотокамеры, помимо разрешения матрицы цифрового фотоаппарата в мегапикселях и прочих параметров, для многих потенциальных покупателей решающим является также способность девайса записывать видео.
Без разницы, хотите вы крутую зеркалку, или просто решили заменить свою старую мыльницу на хоть и простой, но проверенный аппарат уровня Canon PowerShot.
А здесь начинается самое интересное. Уже несколько лет как производители, оснастив фотоаппараты возможностью записывать видео, заложили в них два различных подхода к видению мира - два формата.
1. Кодек MPEG-4 H.264/AVC
Об этой технологии говорить можно долго. В рамках MPEG-4, рекомендация ITU-T (Сектор стандартизации электросвязи Международного союза электросвязи) H.264/AVC позволяет создавать видеоролики форматов HD-ready (1080 x 720) и Full-HD (1920 x 1280) с очень высоким визуальным качеством.
При этом файлы довольно компактны и получасовой ролик занимает порядка 300 Мб на диске. Алгоритм сжатия предполагает использование одного опорного кадра и до 32-х связанных кадров, основанных на опорном (так называемые B и P кадры).
Иными словами, опорный кадр кодируется полностью по алгоритму JPEG. Остальные кадры сравниваются с опорным и в каждый последующий кадр включается не всё содержимое кадра, а лишь области изменения данных текущего кадра относительно предыдущего.
Таким образом, устраняется избыточность и данные без видимых потерь в качестве представляются довольно компактно. Так, к примеру, ролик типа "говорящая голова" часовой длительности будет весить совсем не много.
2. Кодек M-JPEG
Как и его собрат, рекомендация использует алгоритм JPEG для сжатия кадров, но зависимость между кадрами не используется.
Каждый кадр сжимается независимо от соседних. Эффект "выкидывания" статичных и повторяющихся областей из кадра отсутствует. Коэффициент сжатия, в итоге, в несколько раз меньше, чем в первом случае.
"Зачем же мне тогда такой кодек?" - спросит читатель. А дело вот в чём. Каждый кадр, сжатый по стандарту M-JPEG, будет гораздо качественнее, нежели в предыдущем случае. Это оказывается полезным, если нужно сделать очень чёткий - до мелочей, стоп-кадр, к примеру, для распечатки фото.
Да и ролик, снятый в этом формате, нередко по качеству превосходит своего конкурента. Но - в ущерб объёму, так как файлы, сжатые кодеком M-JPEG, могут занимать в разы больше места на диске.
Неспроста на данный момент профессиональные камеры наружного наблюдения работают именно с этим кодеком, поскольку на стоп-кадре их видеороликов можно разглядеть мельчайшие детали – номер авто, физиономию злоумышленника и т.д.
MPEG-4 H.264 = M-JPEG + флешка на 8-16 Гб.
Сейчас же лучше всего – смотреть самому в паспорт конкретной модели уже при покупке, ведь оба кодека равномерно распределены среди Самсунгов, Канонов, Никонов и прочих моделей фотоаппаратов.
Ходят слухи, что скоро кодек M-JPEG уйдёт на полку истории, замещённый семейством MPEG. Однако, в лагере M-JPEG тоже не сидят сложа руки. Уже есть новые, воплощённые в жизнь разработки.
Так, при использовании в качестве базы для покадровой компрессии технологии Jpeg2000, вместо JPEG, при том же уровне качества возможно получить выигрыш по коэффициенту сжатия до нескольких раз.
Технология М-Jpeg2000 принята как стандарт, но на данный момент процент фотокамер, использующих данную систему сжатия пока невелик.
Из личного опыта автора
Яркие представители устройств, с которыми пришлось работать – Canon PowerShot A2500, использующий MPEG-4/H.264 а также – Nikon CoolPix L27 c кодеком M-JPEG.
Оба создавали ролики достаточно высокого качества. На низком и среднем разрешении (640 x 480 для Canon PowerShot A2500, а также 640 x 480 и 800 x 600 для Nikon CoolPix L27) ролики продолжительностью в несколько минут достигали максимум десятков Мб.
При этом дисковое пространство флеш-накопителей обоих фотоаппаратов использовалось рационально.
В режиме HD-ready картина изменилась. В течение 10-15 минут двухгигабайтная флешка на Никоне оказывалась заполненной наполовину.
По мнению автора, для рядового пользователя нет особой разницы между первым и вторым семействами кодеков. Современная фотокамера – без сомнения, весьма полезное и универсальное устройство.
Однако, всё-таки, она по сути своей не предназначена для съёмки длительных роликов. Это относится и к эргономике (через несколько минут съёмки руки устают и кадры начинают "плясать") и к энергопотреблению.
Есть возможность напрямую проследить различия кодеков, когда вы вдруг решите перекодировать видео, имея под рукой, например, программу Seven Converter, либо Format Factory.
С их помощью можно отслеживать изменение размера выходного видеофайла при одном и том же заданном качестве, используя различные кодеки.
Однако, "заданное качество" в большинстве конвертеров – понятие, скорее, гипотетическое и разделяется на уровни Low, Normal и High, без строгого указания конкретных цифровых параметров.
Очевидно, что количество созданных файлов при этом равно произведению длительности ролика в секундах на количество кадров в секунду, а это 25 либо 30.
Раскладывая таким образом видеоролик, изначально сжатый по принципу M-JPEG, можно получить довольно неплохие образцы для последующей печати фото.
А вот проследить взаимосвязь опорных и связанных кадров, а тем более – отделить кадры, кодируемые независимо и кадры, в которых присутствуют лишь изменения текущей сцены относительно опорного, не выйдет.
Это по причине того, что при конвертации ролика в последовательность JPEG-изображений, опорный кадр автоматически включается в каждый из связанных файлов в роли подложки.
- Ещё интересные статьи:
- K-Lite Codec Pack - как скачать и установить
- Программа для скачивания видео - Freemake Video Downloader
- admin's блог
- Войдите на сайт для отправки комментариев