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.

Some network-enabled cameras provide their own M-JPEG interfaces as part of the normal feature set. For cameras that don't provide this feature natively, a server can be used to transcode the camera pictures into an M-JPEG stream and then provide that stream to other network clients.

Media players

Apple announced on September 1, 2010 that their newest version of the Apple TV would support M-JPEG up to 35 Mbit/s, 1280 by 720 pixels, 30 frames per second, audio in μlaw, PCM stereo audio in .avi file format.

Certain media players such as the Netgear NeoTV 550 do not support the playback of M-JPEG.

Video streaming

HTTP streaming separates each image into individual HTTP replies on a specified marker. HTTP streaming creates packets of a sequence of JPEG images that can be received by clients such as QuickTime or VLC.

In response to a GET request for a MJPEG file or stream, the server streams the sequence of JPEG frames over HTTP. A special mime-type content type multipart/x-mixed-replace;boundary=<boundary-name> informs the client to expect several parts (frames) as an answer delimited by <boundary-name>. This boundary name is expressly disclosed within the MIME-type declaration itself. The TCP connection is not closed as long as the client wants to receive new frames and the server wants to provide new frames. Two basic implementations of a M-JPEG streaming server are cambozola and MJPG-Streamer. The more robust ffmpeg-server also provides M-JPEG streaming support.

Native web browser support includes: Safari, Google Chrome, Microsoft Edge[8] and Firefox.[9] Other browsers, such as Internet Explorer can display M-JPEG streams with the help of external plugins. Cambozola is an applet that can show M-JPEG streams in Java-enabled browsers. M-JPEG is also natively supported by PlayStation and QuickTime. Most commonly, M-JPEG is used in IP based security cameras.[10]

Successors

Technology improvements can be found in the designs of H.263v2 Annex I and MPEG-4 Part 2, that use frequency-domain prediction of transform coefficient values, and in H.264/MPEG-4 AVC, that use spatial prediction and adaptive transform block size techniques. There are also more sophisticated entropy coding than what was practical when the first JPEG design was developed. All of these new developments make M-JPEG an inefficient recording mechanism.

See also

References

  1. ^ "New Machines from NeXT (U-M computing News, Volume 5, Jan 1990)". 1990.
  2. ^ «Сборник NeXTdimension (составлен за июнь-август 1993 г.)» .
  3. ^ «Руководство разработчика: QuickTime для Macintosh версии 2.5» (PDF) . Архивировано из оригинала (PDF) 16 июля 2022 г.
  4. ^ "BMPDIB.TXT". www.fileformat.info .
  5. ^ «Сопоставление кодеков».
  6. ^ «Подробности пресс-релиза». www.usa.canon.com . Проверено 6 ноября 2016 г.
  7. ^ «Технические характеристики и функции — Canon EOS 5D Mark IV — Canon UK» . www.canon.co.uk . 19 сентября 2016 г. Проверено 6 ноября 2016 г.
  8. ^ «Руководство для разработчиков: Видео — Разработка Microsoft Edge» . разработчик.microsoft.com . Проверено 25 августа 2016 г.
  9. ^ Потоки M-JPEG, отправленные в ранние версии Mozilla Firefox, должны были быть заключены в документ HTTP, чтобы избежать мерцания. См. ошибку 625012 (исправлена ​​в 2014 г.).
  10. ^ Мартинс, Клодемир (25 апреля 2017 г.). «Как работают кодеки CCTV (легко объяснить кодек CCTV) от Learn CCTV». Изучите CCTV.com . Проверено 22 октября 2023 г.

Внешние ссылки