m jpeg h 264

MJPEG (Motion JPEG) — покадровый метод видеосжатия, основной особенностью которого является сжатие каждого отдельного кадра видеопотока с помощью алгоритма сжатия изображений JPEG.

При сжатии методом MJPG межкадровая разница не учитывается.

Содержание

Области применения [ править | править код ]

MJPEG широко применяется в следующих областях:

Кодирование [ править | править код ]

Motion JPEG использует внутрикадровое сжатие с потерями на основе дискретного косинусного преобразования (ДКП). Эта математическая операция преобразует каждый кадр/поле изображения из пространственной области в частотную. Психовизуальная модель, основанная на особенностях восприятия изображений человеком, использует обычно грубое квантование высокочастотной составляющей изображения и более аккуратное квантование низкочастотной составляющей, снижая тем самым точность передачи резких переходов яркости и оттенков цвета. Квантованные коэффициенты ДКП без потерь упаковываются в выходной битовый поток с использованием кодов Хаффмана либо с помощью арифметического кодирования. Почти все программные реализации MJPEG позволяют пользователям контролировать степень сжатия (а также другие параметры) и достигать компромисса качества изображения и размера файла. При аппаратных решениях параметры кодирования, как правило, предварительно выбраны и зафиксированы.

Заголовок каждого кодированного MJPEG обычно соответствует стандарту JPEG, однако, допустимыми являются некоторые несоответствия стандарту. Так, например, в нём может отсутствовать маркер DHT, определяющий таблицы для хаффмановского декодирования. В этом случае в процессе декодирования следует использовать таблицы, приведённые в разделе K.3 стандарта JPEG (CCITT Rec. T.81).

В MJPEG применяется схема только внутрикадрового сжатия (по сравнению с более сложными схемами вычисления с межкадровым сжатием). В то время, как современные видеоформаты с межкадровым сжатием, такие как MPEG1, MPEG2, H.264/MPEG-4 AVC и им подобные, достигают в среднем степени сжатия 1:50 и более, отсутствие в MJPEG межкадрового сжатия, как правило, не позволяет получать коэффициенты сжатия, превосходящие 1:20, в зависимости от допустимости пространственных искажений в декодированных кадрах видеопоследовательности. Так как кадры сжимаются независимо друг от друга, MJPEG требует меньше вычислительных ресурсов и оперативной памяти на этапе кодирования. Однако, декодирование MJPEG может оказаться более затратным, чем при использовании межкадрового сжатия, поскольку, во-первых, предполагает полное декодирование в MJPEG каждого макроблока изображения, тогда как при использовании схем с межкадровым сжатием часть макроблоков, помеченных как «skip», не декодируется, а берётся из предыдущих кадров. Во-вторых, время выполнения процедур хаффменовского декодирования и обратного ДКП зависит от информационной насыщенности декодируемого макроблока изображения, которая при отсутствии межкадрового сжатия оказывается значительно большей, чем при его наличии (в первом случае декодируется полное изображение, во втором — разностное, то есть не само изображение, а лишь его отличие от предсказанного по предыдущим кадрам).

Читайте также:  apache 500 internal server error

При внутрикадровой схеме сжатия в MJPEG качество изображения зависит непосредственно от статической (пространственной) сложности каждого видеокадра. Кадры с большими гладкими переходами или монотонными областями хорошо сжимаются, но при слишком высоких степенях сжатия содержат, помимо оригинальных деталей, видимые артефакты сжатия в виде блоков размером 8х8 пикселей, несколько отличающиеся по яркости и оттенку цвета. Появление их связано с грубым квантованием низкочастотных коэффициентов ДКП. Кадры, имеющие сложные текстуры, тонкие кривые линии, помимо артефактов блочности содержат также артефакты, проявляющиеся в виде шума вокруг тонких линий и на резких границах (так называемый эффект Гиббса), связанные с грубым квантованием высокочастотных коэффициентов ДКП.

Для форматов QuickTime Apple определила два типа кодирования: MJPEG-A и MJPEG-B. MJPEG-B не сохраняет структуру JPEG файлов внутри видеофайла, следовательно, невозможно извлечь кадр в файл JPEG без реконструкции заголовка JPEG.

Преимущества и недостатки [ править | править код ]

Основным преимуществом видеосжатия Motion JPEG является простота реализации, что делает MJPEG подходящим для реализации в устройствах с ограниченными вычислительными ресурсами.

Чрезвычайно быстрый нелинейный видеомонтаж — если какой-либо кадр берётся целиком (без изменений) из одного MJPEG-источника, его можно записать в выходной MJPEG-поток как есть, без декодирования-сжатия.

При высоком битрейте MJPEG даёт качественные стоп-кадры, что позволяет его использовать, например, в системах видеонаблюдения (там это нужно, чтобы, например, выяснить номер проехавшего автомобиля или подробно рассмотреть лицо преступника). Однако при отсутствии межкадрового сжатия достижение заданного битрейта требует использования большего, чем в случае MPEG, покадрового сжатия, что приводит появлению заметных артефактов сжатия.

Недостатками MJPEG являются более низкий коэффициент сжатия по сравнению с потоковыми методами сжатия, например, MPEG-4 и проявляющиеся при высоких степенях сжатия артефакты.

Читайте также:  bethesda дата выхода игр

Вопрос сжатия видео: H.264 или JPEG2000?

Как работают современные технологии сжатия и какую технологию выбрать чтобы добиться лучших результатов? Когда мы сравниваем две технологии, важно помнить, что каждая из них может иметь свои преимущества и недостатки, которые в полной мере отразятся на проекте?

Сравнение покадрового (intra-frame) и межкадрового (inter-frame) сжатий

Существует два популярных метода сжатия видео: покадровое (которое также называют «внутрикадровым»), и межкадровое сжатие.

Покадровое сжатие – это метод сжатия, при котором алгоритм сжатия применяется индивидуально к каждому кадру. Такой метод позволяет сжимать и передавать изображение с камеры с малым временем задержки. Применяя данный метод, изображение получает хорошие качество, но при этом и больший размер. Популярные кодеки данного метода сжатия: MJPEG, JPEG 2000, DNxHD, Cinema DNG и Prores.

Межкадровое сжатие – метод, при котором происходит анализ всего кадра, но записываются только отличия последовательных кадров. Такой метод, в отличии от покадрового сжатия, позволяет значительно уменьшит размер видеофайла. H.264, MPEG-4, MPEG-2, и AVCHD – основные кодеки данной технологии.

JPEG 2000

Представленный в 2000 году, стандарт JPEG 2000 получил широкое распространение в самых разных сферах, включая цифровые кинотеатры, медицинское оборудование для диагностики, архивация документов и многие другие. JPEG 2000 получил большое улучшение, по сравнению с общепринятым методом сжатия JPEG. Файл изображения, генерируемый с помощью JPEG 2000 имел на 30% меньший размер, чем файл изображения JPEG с тем же качеством. Другие преимущества данного метода сжатия включают возможность захвата широкого динамического диапазона и масштабируемость до более высоких разрешений.

H.264

Будучи одним из вариантов стандарта MPEG-4, H.264 – одна из новейших технологий сжатия, которая позволяет добиться большего сжатия, чем предшествующие варианты данного формата. H.264 отличается от JPEG и JPEG 2000 методом сжатия, при котором видео включает в себя один ключевой кадр (I-кадры), который сжимается как независимое изображение, за которым следуют несколько разностных кадров (P-кадры), включающие в себя разность между кадрами. Части видео, с которыми не происходит изменений, не сохраняются в поток, и за счет этого повышается степень сжатия. Также данный стандарт из-за своих особенностей требует меньшей пропускной способности сети.

Читайте также:  hp cm1312 mfp драйвер сканера

Выбор подходящей технологии сжатия

Выбирая подходящую технологию сжатия для ваших инсталляций, первое, о чем необходимо подумать – пропускная способность. Второй вопрос касается времени задержки. Какое время задержки будет приемлемым для вашего проекта? Эти два фактора будут первостепенными к рассмотрению, перед выбором технологии.

1. h264
2. mpeg4 (например, XviD)
3. m-jpeg

Первый — современный алгоритм сжатия (и самая популярная программная реализация его — это кодек х264). При одинаковых параметрах (например, битрейте) , даёт наилучшую картинку при меньшем размере.

Второй — хороший метод сжатия, но более старый, поэтому, качество чуть пониже, и размер чуть побольше.

Оцените статью
Добавить комментарий

Adblock detector