MJPEG
# MJPEG

Motion JPEG (M-JPEG) es un nombre trivial para aquellos formatos multimedia donde cada fotograma o campo entrelazado de una secuencia de video digital es comprimida por separado como una imagen JPEG. Es frecuentemente usado en dispositivos portátiles,tales como cámaras digitales.

## Códec

El Motion JPEG utiliza tecnología de codificación intracuadro, que es muy similar en tecnología a la parte I-frame de los estándares de codificación como el MPEG-1 y el MPEG-2, sin emplear la predicción intercuadro. La ausencia del uso de la predicción intercuadro conlleva a una pérdida en la capacidad de compresión, pero facilitando la edición de video, dado que se pueden realizar ediciones simples en cualquier cuadro cuando todos estos son I-frames. Los formatos de codificación tales como el MPEG-2 pueden ser también utilizados basándose meramente en este principio para proveer capacidades similares de compresión y de edición.

Usando solamente compresión intracuadro hace además el grado de la capacidad de compresión independiente de la cantidad de movimiento en la escena, puesto que la predicción temporal no es usada (el usar la predicción temporal puede substancialmente mejorar la capacidad de compresión, haciendo no obstante el rendimiento de esta dependiendo en qué tan bien se desempeña la compensación de movimiento para el contenido de la escena. Por esto, se utiliza en cámaras de vigilancia donde sólo se toma un cuadro por segundo, en el tiempo donde podría haber grandes cantidades de cambio.

Para los formatos Quicktime, Apple ha definido dos tipos de codificación: el MJPEG-A y el MJPEG-B. Como el segundo dejó de retener archivos de intercambio JPEG válidos, no es posible llevar un fotograma a un archivo JPEG sin modificar ligeramente las cabeceras.

La tasa de bits cae entre los formatos sin comprimir (como el RGB, que tiene compresión 1:1, y el YCbCr, con compresión de 1:1.5 a 1:2.5 y el MPEG con 1:100. Las tasas de datos en el orden de los 29 Mb/s poseen altísima calidad, resultando no obstante en archivos de gran tamaño.

## Aplicaciones

El M-JPEG es usado frecuentemente en sistemas de edición de vídeo no lineal. La reproducción de este formato a velocidad plena requiere una alta capacidad de descodificación JPEG.

El formato también es usado comúnmente para videocámaras basadas en IP, todo ello a través de flujos (streams) HTTP, usando el tipo de contenido MIME multipart/x-mixed-replace. Esto separa cada imagen en respuestas individuales de HTTP en un marcador especificado. Los exploradores basados en Mozilla como Netscape y Firefox cuentan con soporte nativo para ver estos flujos mientras que Internet Explorer no.

La consola PlayStation tiene integrada la descompresión por hardware de M-JPEG para poder visualizar secuencias FMV en los juegos. La consola Wii de Nintendo puede reproducir videos codificados en MJPEG a través de una tarjeta SD usando su canal de fotos. El reproductor de audio digital de Sandisk, Sansa, también puede reproducir vídeos cortos en este formato. Este formato fue rediseñado por GOSCH (Arg.) Tipo archivo MJGO siendo este uno de los más óptimos para transferencia de video digital.

## Cámaras digitales

Antes del reciente incremento en el uso del MPEG-4 en dispositivos para consumidores, también se utilizó ampliamente una forma del MJPEG con barrido progresivo usada, por ejemplo, en los modos de película de las cámaras digitales, permitiendo la reproducción y codificación a través de la compresión JPEG integrada por hardware con sólo una modificación por software. De nueva cuenta, la calidad que resulta es marcadamente reducida a comparación de la compresión MPEG a una tasa similar de bits, particularmente cuando el sonido (si se incluía) era a menudo PCM sin comprimir o ADPCM.

Para compensar y mantener los tamaños de los archivos y las tasas de transferencias bajo control, las tasas, tamaños de fotograma y las tasas de muestreo de sonido se mantenían relativamente bajas, con niveles muy altos de compresión para cada fotograma individual, p.e. 160x120 o 320x240 px, típicamente a 10,12 o 15 fps, con calidad de imagen equivalente a una configuración JPEG de "50" y un sonido ADPCM monoaural a 8 kHz.

Esto resultaba en un vídeo muy básico pero práctico a un precio de almacenamiento similar al MPEG. Este contenido era almacenado en los populares contenedores AVI de Windows o en el MOV de Apple, que permitían verse de manera nativa generalmente sin la instalación de un códec adicional en la mayoría de las versiones de este sistema operativo

## Crítica

* De manera distinta a los formatos de vídeo especificados en los estándares internacionales, tales como el MPEG-2 y el formato especificado en el estándar de codificación de imágenes JPEG, no hay documento que defina un formato único y exacto que sea universalmente reconocido como una especificación completa de Motion JPEG para usarse en cualquier contexto. Esto eleva las preocupaciones por la compatibilidad con los archivos de salida de distintos fabricantes.
* El formato tiene una tasa de bits relativamente alta dada la calidad entregada, requiriendo más espacio de almacenamiento que otros formatos modernos para una calidad de imagen dada.
* Desde el desarrollo del estándar JPEG original a principios de los noventa, los avances en la tecnología han hecho posible mejores en la compresión intracuadro. La organización JPEG por ella misma ha desarrollado un nuevo diseño llamado JPEG 2000 y otros tipos de tales mejoras pueden localizarse en los diseños del H.263v2, anexo I y el MPEG-4 parte 2, que usan predicción por dominio de frecuencia de valores de coeficientes de transformación, y además en el H.264/MPEG-4 AVC, que utiliza predicción espacial y técnicas adaptivas de transformada por tamaño de bloque y codificación por entropía más sofisticada que aquello que era práctico cuando el primer diseño JPEG fue desarrollado. Como resultado de esto, el MJPEG es un códec desactualizado e ineficiente.
