- MJPEG
-
MJPEG (Motion JPEG) — покадровый метод видеосжатия, основной особенностью которого является сжатие каждого отдельного кадра видеопотока с помощью алгоритма сжатия изображений JPEG.
При сжатии методом MJPG межкадровая разница не учитывается.
Содержание
Области применения
MJPG широко применяется в следующих областях:
- Веб-камера
- нелинейный видеомонтаж;
- IP-камеры;
- Системы видеонаблюдения;
- Цифровые фотоаппараты;
- M-JPEG имеет встроенную поддержку в QuickTime Player, консоли PlayStation и браузерах, таких как Safari, Google Chrome и Mozilla Firefox.
Кодирование
Motion JPEG использует внутрикадровое сжатие с потерями на основе дискретного косинусного преобразования (ДКП). Эта математическая операция преобразует каждый кадр/поле видеоизображения из пространственной области в частотную область (область преобразования). Психовизуальная модель, основанная на особенностях восприятия изображений человеком, удаляет высокочастотную информацию, загрубляя резкие переходы яркости и оттенков цвета. Коэффициенты ДКП квантуются, квантованные коэффициенты затем без потерь упаковываются в выходной битовый поток с использованием кодов Хаффмана либо с помощью арифметического кодирования. Почти все программные реализации MJPEG позволяют пользователям контролировать степень сжатия (а также другие параметры) и достигать компромисса качества изображения и размера файла. При аппаратных решениях параметры кодирования как правило предварительно выбраны и зафиксированы.
В MJPEG применяется схема только внутрикадрового сжатия (по сравнению с более сложными схемами вычисления с межкадровым сжатием). В то время, как современные видеоформаты с межкадровым сжатием, такие как MPEG1, MPEG2, H.264/MPEG-4 AVC и им подобные, достигают реальной степени сжатия 1:50 и более, отсутствие в MJPEG межкадрового сжатия как правило не позволяет получать коэффициенты сжатия, превосходящие 1:20, в зависимости от допустимости пространственных искажений в декодированных кадрах видеопоследовательности. Так как кадры сжимаются независимо друг от друга, MJPEG требует меньше вычислительных ресурсов и оперативной памяти на этапе кодирования. Однако, декодирование MJPEG может оказаться более затратным, чем при использовании межкадрового сжатия, поскольку, во-первых, предполагает полное декодирование в MJPEG каждого макроблока изображения, тогда как при использовании схем с межкадровым сжатием часть макроблоков, помеченных как "skip", не декодируется, а берётся из предыдущих кадров. Во-вторых, время выполнения процедур хаффменовского декодирования и обратного ДКП зависит от информационной насыщенности декодируемого макроблока изображения, которая при отсутствии межкадрового сжатия оказывается значительно большей, чем при его наличии (в первом случае декодируется полное изображение, во втором — разностное, то есть не само изображение, а лишь его отличие от предсказанного по предыдущим кадрам).
При внутрикадровой схеме сжатия в MJPEG качество изображения зависит непосредственно от статической (пространственной) сложности каждого видеокадра. Кадры с большими гладкими переходами или монотонными областями хорошо сжимаются, и при высоких степенях сжатия содержат помимо оригинальных деталей видимые артефакты сжатия в виде блоков размером 8х8 пикселей, несколько отличающиеся по яркости и оттенку цвета. Появление их связано с грубым квантованием низкочастотных коэффициентов ДКП. Кадры, имеющие сложные текстуры, тонкие кривые линии, помимо артефактов блочности содержат также артефакты, проявляющиеся в виде шума вокруг тонких линий и на резких границах (так называемый эффект Гиббса), связанные с грубым квантованием высокочастотных коэффициентов ДКП.
Для форматов QuickTime Apple определила два типа кодирования: MJPEG-A и MJPEG-B. MJPEG-B не сохраняет структуру JPEG файлов внутри видеофайла, следовательно, невозможно извлечь кадр в файл JPEG без реконструкции заголовка JPEG.
Преимущества и недостатки
Основным преимуществом видеосжатия Motion JPEG является простота реализации, что делает MJPEG подходящим для реализации в устройствах с ограниченными вычислительными ресурсами.
Чрезвычайно быстрый нелинейный видеомонтаж — если какой-либо кадр берётся целиком (без изменений) из одного MJPEG-источника, его можно записать в выходной MJPEG-поток как есть, без декодирования-сжатия.
При высоком битрейте MJPEG даёт качественные стоп-кадры, что позволяет его использовать, например, в системах видеонаблюдения (там это нужно, чтобы, например, выяснить номер проехавшего автомобиля или подробно рассмотреть лицо преступника). Однако при отсутствии межкадрового сжатия достижение заданного битрейта требует использования большего, чем в случае MPEG, покадрового сжатия, что приводит появлению заметных артефактов сжатия.
Недостатками MJPEG являются более низкий коэффициент сжатия по сравнению с потоковыми методами сжатия, например, MPEG-4 и проявляющиеся при высоких степенях сжатия артефакты.
См. также
Ссылки
Сжатие видео Рекомендации ITU-T Стандарты ИСО/МЭК Стандарты SMPTE Кодеки MPEG-4 Без потерь CorePNG • FFV1 • Huffyuv • Lagarith • MSU Lossless • SheerVideo
Цифровое кино Прочие кодеки См. также Для улучшения этой статьи желательно?: - Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное.
Категории:- Сжатие видео
- JPEG
Wikimedia Foundation. 2010.