stringtranslate.com

Движущийся JPEG

Motion JPEG ( M-JPEG или MJPEG ) — это формат сжатия видео , в котором каждый видеокадр или чересстрочное поле цифровой видеопоследовательности сжимается отдельно в изображение JPEG .

Первоначально разработанный для мультимедийных ПК-приложений, Motion JPEG пользуется широкой клиентской поддержкой: большинство основных веб-браузеров и проигрывателей обеспечивают встроенную поддержку, а для остальных доступны подключаемые модули. Программное обеспечение и устройства, использующие стандарт M-JPEG, включают веб-браузеры, медиаплееры, игровые консоли, цифровые камеры, IP-камеры, веб-камеры, потоковые серверы, видеокамеры и нелинейные видеоредакторы. [ нужна цитата ]

История

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 документируется в файлах QuickTime. 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 .

Игровая консоль Wii от Nintendo , а также 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 . Эти файлы MPEG изначально доступны для просмотра в большинстве операционных систем, однако иногда необходимо установить дополнительный кодек .

Видеоформат AMV , распространенный на дешевых проигрывателях MP4, представляет собой модифицированную версию M-JPEG.

Помимо портативных плееров (которые в основном являются «потребителями» видео), многие цифровые камеры с поддержкой видео используют M-JPEG для захвата видео. Например:

Видео, записанное на камеру Canon 5D mark IV в формате DCI 4K с использованием motion jpeg.

Многие сетевые камеры предоставляют потоки M-JPEG, к которым могут подключаться сетевые клиенты. Браузеры на базе Mozilla и Webkit имеют встроенную поддержку просмотра этих потоков M-JPEG.

Некоторые сетевые камеры предоставляют собственные интерфейсы M-JPEG как часть обычного набора функций. Для камер, которые не предоставляют эту функцию изначально, можно использовать сервер для перекодирования изображений с камеры в поток M-JPEG, а затем предоставлять этот поток другим сетевым клиентам.

Медиаплееры

1 сентября 2010 года Apple объявила, что их новейшая версия Apple TV будет поддерживать M-JPEG со скоростью до 35 Мбит / с, 1280 x 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] и Firefox . [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 неэффективным механизмом записи.

Смотрите также

Рекомендации

  1. ^ «Новые машины от NeXT (Новости вычислений UM, том 5, январь 1990 г.)» . 1990.
  2. ^ "The NeXTdimension Compendium (compiled from June-August 1993)".
  3. ^ "Developer's Guide: QuickTime for Macintosh Version 2.5" (PDF). Archived from the original (PDF) on 2022-07-16.
  4. ^ "BMPDIB.TXT". www.fileformat.info.
  5. ^ "Codec Mappings".
  6. ^ "Press Release Details". www.usa.canon.com. Retrieved 2016-11-06.
  7. ^ "Specifications & Features - Canon EOS 5D Mark IV - Canon UK". www.canon.co.uk. 2016-09-19. Retrieved 2016-11-06.
  8. ^ "Dev guide: Video - Microsoft Edge Development". developer.microsoft.com. Retrieved 2016-08-25.
  9. ^ M-JPEG streams sent to early versions of Mozilla Firefox had to be enclosed within an HTTP document to avoid flickering. See Bug 625012 (fixed in 2014).
  10. ^ Martins, Claudemir (2017-04-25). "How CCTV codecs work (CCTV codec easily explained) by Learn CCTV". Learn CCTV.com. Retrieved 2023-10-22.

External links