Движущийся JPEG
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Motion JPEG ( M-JPEG MJPEG ) — это формат сжатия видео , в котором каждый видеокадр или чересстрочное поле цифровой видеопоследовательности сжимается или отдельно в JPEG изображение .
Первоначально разработанный для мультимедийных приложений ПК, Motion JPEG пользуется широкой клиентской поддержкой: большинство основных веб-браузеров и проигрывателей обеспечивают встроенную поддержку, а для остальных доступны подключаемые модули. Программное обеспечение и устройства, использующие стандарт M-JPEG, включают медиаплееры, игровые консоли, цифровые камеры, IP-камеры, веб-камеры, потоковые серверы, видеокамеры и нелинейные видеоредакторы. [ нужна ссылка ]
История
[ редактировать ]Этот раздел нуждается в расширении . Вы можете помочь, добавив к нему . ( август 2012 г. ) |
Motion JPEG изначально был разработан для мультимедийных приложений ПК. [ нужна ссылка ]
Ранние реализации MJPEG обычно реализовывались аппаратно. C-Cube был одним из первых сторонников: их кодек CL550 JPEG использовался в нескольких аппаратных реализациях. Было объявлено [ 1 ] что NeXTdimension от NeXT будет поставляться со встроенным CL550 для реализации MJPEG. Однако позже он был отложен и не был включен в поставляемый конечный продукт. [ 2 ]
Apple предоставила программную реализацию MJPEG в своем проигрывателе QuickTime Player в середине 1990-х годов. [ 3 ]
Дизайн
[ редактировать ]M-JPEG — это схема внутрикадрового сжатия (по сравнению с более трудоемким методом межкадрового прогнозирования ). В то время как современные форматы межкадрового видео, такие как MPEG1 , MPEG2 и H.264/MPEG-4 AVC , достигают реальной степени сжатия 1:50 или выше, отсутствие межкадрового прогнозирования в M-JPEG ограничивает его эффективность до 1:20 или ниже. , в зависимости от допуска к пространственным искажениям в сжатом выводе. Поскольку кадры сжимаются независимо друг от друга, M-JPEG предъявляет более низкие требования к обработке и памяти аппаратных устройств.
Поскольку M-JPEG представляет собой чисто внутрикадровую схему сжатия, качество изображения напрямую зависит от статической (пространственной) сложности каждого видеокадра. Кадры с большими плавными переходами или монотонными поверхностями хорошо сжимаются и с большей вероятностью сохранят исходные детали с небольшим количеством видимых артефактов сжатия. Кадры со сложной текстурой, тонкими кривыми и линиями (например, надписи на газете) склонны к появлению артефактов дискретного косинусного преобразования (DCT), таких как звон , размазывание и макроблокирование . Видео, сжатое с помощью M-JPEG, также нечувствительно к сложности движения, т. е. изменению во времени. Этому не мешает ни крайне случайное движение (например, турбулентность водной поверхности в большом водопаде), ни отсутствие движения (например, статический пейзаж, снятый со штатива), которые являются двумя противоположными крайностями, обычно используемыми для тестирования межкадрового видео. форматы.
Для форматов QuickTime Apple определила два типа кодирования: MJPEG-A и MJPEG-B. MJPEG-B больше не сохраняет в себе допустимые файлы обмена JPEG, поэтому невозможно включить кадр в файл JPEG без незначительного изменения заголовков.
JPEG неэффективен, поскольку для обеспечения аналогичного качества используется больше битов по сравнению с более современными форматами (такими как JPEG 2000 и H.264/MPEG-4 AVC ). С момента разработки исходного стандарта JPEG в начале 1990-х годов технологические усовершенствования были внесены не только в формат JPEG, но межкадрового и в возможные схемы сжатия.
Функции
[ редактировать ]Motion JPEG легко реализовать, поскольку он использует зрелый стандарт сжатия (JPEG) с хорошо развитыми библиотеками и представляет собой внутрикадровый метод сжатия. [ нужна ссылка ]
Он допускает быстрое изменение движения в видеопотоке, тогда как схемы сжатия, использующие межкадровое сжатие, часто могут испытывать неприемлемую потерю качества, когда видеоконтент значительно меняется между каждым кадром. [ нужна ссылка ]
Требуется минимальное оборудование, поскольку оно не требует больших вычислительных затрат. [ нужна ссылка ]
Стандартизация
[ редактировать ]В отличие от видеоформатов, указанных в международных стандартах, таких как MPEG-2 , и формата, указанного в стандарте кодирования неподвижных изображений JPEG, не существует документа, определяющего единый точный формат, общепризнанный как полная спецификация «Motion JPEG» для видео. использовать во всех контекстах. Это вызывает проблемы совместимости выходных файлов от разных производителей. Однако каждый конкретный формат файла обычно имеет определенный стандарт кодирования M-JPEG. Например, Microsoft документирует свой стандартный формат для хранения M-JPEG в файлах AVI. [ 4 ] Apple документирует, как M-JPEG хранится в файлах QuickTime, RFC 2435 описывает, как M-JPEG реализуется в потоке RTP планируется ввести M-JPEG CodecID , а для формата файлов Matroska . [ 5 ]
Приложения
[ редактировать ]M-JPEG теперь используется устройствами видеозахвата, такими как цифровые камеры , IP-камеры и веб-камеры , а также системами нелинейного редактирования видео . Он изначально поддерживается QuickTime Player, консолью PlayStation и веб-браузерами, такими как Safari , Google Chrome , Mozilla Firefox и Microsoft Edge .
Монтаж видео
[ редактировать ]M-JPEG часто используется в системах нелинейного видеомонтажа . Современные процессоры настольных компьютеров достаточно мощны для работы с видео высокой четкости, поэтому не требуется никакого специального оборудования, а они, в свою очередь, предлагают собственный произвольный доступ к любому кадру.
Игровые консоли
[ редактировать ]В игровую консоль PlayStation встроено оборудование для декомпрессии M-JPEG для внутриигровых последовательностей FMV , а портативная игровая консоль PlayStation Portable может воспроизводить M-JPEG с Memory Stick Pro Duo под расширением .avi с разрешением 480 × 272. Оба могут записывать клипы в формате M-JPEG с помощью камеры Go!Cam .
Nintendo от Игровая консоль Wii , а также InnoTab от VTech могут воспроизводить видео в формате M-JPEG на SD-карте, используя свой Photo Channel . SanDisk Sansa e200 и Zen V цифровые аудиоплееры воспроизводят короткие видеоролики в формате M-JPEG. Последние обновления прошивки для Nintendo 3DS теперь позволяют записывать и воспроизводить файлы в формате «3D-AVI» в формате M-JPEG (тот же формат, который используется в серии Fujifilm FinePix Real 3D) , с SD-карты с разрешением 320×240 при условии, что продолжительность видео составляет 10 минут или меньше.
Цифровые фотоаппараты
[ редактировать ]До появления кодирования MPEG-4 в потребительских устройствах форма M-JPEG с прогрессивной разверткой широко использовалась в «кино»-режимах цифровых фотокамер, позволяя кодировать и воспроизводить видео с помощью встроенного оборудования сжатия JPEG с помощью только программного обеспечения. модификация. Результирующее качество по-прежнему уступает MPEG аналогичного размера, особенно потому, что звук (если он включен) был несжатым PCM и записан с низкой частотой дискретизации или с низким уровнем сжатия и низкими требованиями к процессору ADPCM .
Чтобы держать размеры файлов и скорость передачи под контролем, размеры и частота кадров, а также частота дискретизации звука поддерживаются относительно низкими с очень высоким уровнем сжатия для каждого отдельного кадра. Обычно используются разрешения 160×120 или 320×240, обычно с частотой 10, 12 или 15 кадров в секунду, с качеством изображения, эквивалентным настройке JPEG «50» с монозвуком ADPCM, дискретизированным с частотой ~ 8 кГц. В результате получается очень простой, но удобный видеовыход при стоимости хранения, аналогичной MPEG (скорость видео ~ 120 кБ/с, звук ~ 8 кБ/с – или примерно 1 Мбит/с при разрешении 320×240), но с минимальными затратами. накладные расходы на обработку. Это видео обычно хранится в файлах-контейнерах Microsoft AVI или Apple QuickTime Movie . Эти файлы доступны для просмотра в большинстве операционных систем, однако иногда дополнительный кодек необходимо установить .
Видеоформат AMV , распространенный на дешевых проигрывателях MP4, представляет собой модифицированную версию M-JPEG.
Помимо портативных плееров (которые в основном являются «потребителями» видео), многие цифровые камеры с поддержкой видео используют M-JPEG для захвата видео. Например:
- В августе 2008 года компания Nikon анонсировала D90 , первую цифровую зеркальную камеру, записывающую видео. Используемый формат — M-JPEG. D90 использует три различных формата Motion JPEG: 320×216 пикселей, 640×424 пикселей и 1280×720 пикселей.
- В июне 2009 года Pentax объявила, что будущая камера K-7 будет использовать M-JPEG с разрешениями 640×416, 1280×720 и 1536×1024. Скорость передачи данных для создаваемых файлов M-JPEG может достигать 74 Мбит/с.
- В августе 2016 года Canon объявила, что камера 5D Mark IV будет записывать видео 4K в формате M-JPEG. [ 6 ] со скоростью передачи данных около 500 Мбит/с. [ 7 ]
Многие сетевые камеры предоставляют потоки M-JPEG, к которым могут подключаться сетевые клиенты. Браузеры на базе Mozilla и Webkit имеют встроенную поддержку просмотра этих потоков M-JPEG.
Некоторые сетевые камеры предоставляют собственные интерфейсы M-JPEG как часть обычного набора функций. Для камер, которые не предоставляют эту функцию изначально, можно использовать сервер для перекодирования изображений с камеры в поток M-JPEG и последующей передачи этого потока другим сетевым клиентам.
Медиаплееры
[ редактировать ]1 сентября 2010 года Apple объявила, что их новейшая версия Apple TV будет поддерживать M-JPEG со скоростью до 35 Мбит / с, 1280 на 720 пикселей, 30 кадров в секунду, звук в формате μlaw, стереозвук PCM в формате файла .avi.
Некоторые медиаплееры, такие как Netgear NeoTV 550, не поддерживают воспроизведение M-JPEG.
Потоковое видео
[ редактировать ]Потоковая передача HTTP разделяет каждое изображение на отдельные ответы HTTP по указанному маркеру. Потоковая передача HTTP создает пакеты из последовательности изображений JPEG, которые могут быть получены такими клиентами, как QuickTime или VLC .
В ответ на запрос GET для файла или потока MJPEG сервер передает последовательность кадров JPEG через HTTP . Специальный тип контента mime-типа multipart/x-mixed-replace;boundary=<boundary-name> сообщает клиенту, что в качестве ответа следует ожидать несколько частей (кадров), разделенных <boundary-name>. Это имя границы явно раскрывается в самом объявлении типа MIME. TCP-соединение не закрывается до тех пор, пока клиент хочет получать новые кадры, а сервер хочет предоставлять новые кадры. Двумя основными реализациями сервера потоковой передачи M-JPEG являются cambozola и MJPG-Streamer . Более надежный сервер ffmpeg также обеспечивает поддержку потоковой передачи M-JPEG.
Встроенная поддержка веб-браузера включает: Safari , Google Chrome , Microsoft Edge. [ 8 ] и Фаерфокс . [ 9 ] Другие браузеры, такие как Internet Explorer, могут отображать потоки M-JPEG с помощью внешних плагинов. Cambozola — это апплет, который может отображать потоки M-JPEG в браузерах с поддержкой Java. M-JPEG также изначально поддерживается PlayStation и QuickTime. Чаще всего M-JPEG используется в IP-камерах видеонаблюдения. [ 10 ]
Преемники
[ редактировать ]Технологические усовершенствования можно найти в проектах H.263v2 Приложение I и MPEG-4 Часть 2 , которые используют предсказание значений коэффициентов преобразования в частотной области, а также в H.264/MPEG-4 AVC , которые используют пространственное предсказание и адаптивное преобразование. методы размера блока. Существуют также более сложные методы энтропийного кодирования, чем те, которые были практичны при разработке первого дизайна JPEG. Все эти новые разработки делают M-JPEG неэффективным механизмом записи.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «Новые машины от NeXT (Новости вычислений UM, том 5, январь 1990 г.)» . 1990.
- ^ «Компендиум NeXTdimension (составлен за июнь-август 1993 г.)» .
- ^ «Руководство разработчика: QuickTime для Macintosh версии 2.5» (PDF) . Архивировано из оригинала (PDF) 16 июля 2022 г.
- ^ «BMPDIB.TXT» . www.fileformat.info .
- ^ «Сопоставление кодеков» .
- ^ «Подробности пресс-релиза» . www.usa.canon.com . Проверено 6 ноября 2016 г.
- ^ «Характеристики и функции — Canon EOS 5D Mark IV — Canon UK» . www.canon.co.uk . 19 сентября 2016 г. Проверено 6 ноября 2016 г.
- ^ «Руководство для разработчиков: Видео — Разработка Microsoft Edge» . разработчик.microsoft.com . Проверено 25 августа 2016 г.
- ^ Потоки M-JPEG, отправленные в ранние версии Mozilla Firefox, должны были быть заключены в документ HTTP, чтобы избежать мерцания. См. ошибку 625012 (исправлена в 2014 г.).
- ^ Мартинс, Клодемир (25 апреля 2017 г.). «Как работают кодеки CCTV (кодек CCTV легко объяснить) от Learn CCTV» . Изучите CCTV.com . Проверено 22 октября 2023 г.
Внешние ссылки
[ редактировать ]- Формат Apple QuickTime, включая спецификации для MJPEG-A и MJPEG-B, стр. 96.
- RFC 2435 Формат полезной нагрузки RTP для видео, сжатого в формате JPEG