|Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact|
|Full name||Motion JPEG Video Codec|
Bitstream encoding for video in which an image of each frame (perhaps also images of video fields; Comments welcome) is encoded as JPEG-DIB (JPEG with Device-Independent Bit compression; see OpenDML specification page 36), a constrained version of JPEG described in the specification as having been defined by Microsoft. Played as a sequence, the series of frame images reproduce the source video. The AVI wrapping of this image type for video is detailed in the AVI_OpenDML_1_02 specification cited above.
The Wikipedia article on Motion JPEG (consulted in March 2016) offers some insights into the format's origin: "Prior to the recent rise in MPEG-4 encoding in consumer devices, a progressive scan form of M-JPEG saw widespread use in the 'movie' modes of digital still cameras, allowing video encoding and playback through the integrated JPEG compression hardware with only a software modification. . . ." Most MJPEG bitstreams are wrapped in AVI_OpenDML_1_02, and these files carry the Microsoft Four-Character Code (FOURCC) MJPG. The OpenDML extensions to AVI were developed in 1996-97 to address this need. MJPEG bitstreams may also be wrapped in other file formats.
Avery Lee, writing in the rec.video.desktop newsgroup in 2001, commented that "MJPEG, or at least the MJPEG in AVIs having the MJPG fourcc, is restricted JPEG with a fixed -- and *omitted* -- Huffman table. The JPEG must be YCbCr colorspace, it must be 4:2:2, and it must use basic Huffman encoding, not arithmetic or progressive. . . . You can indeed extract the MJPEG frames and decode them with a regular JPEG decoder, but you have to prepend the DHT segment to them, or else the decoder won't have any idea how to decompress the data. The exact table necessary is given in the OpenDML spec."
|Production phase||Generally a initial- or middle-state (video production) format; after editing, the bitstream is typically compressed in another encoding for end-user delivery.|
|Relationship to other formats|
|Used by||AVI_MJPEG, AVI OpenDML with MJPEG Codec|
|Used by||QTV_MJPEG, QuickTime MJPEG|
|LC experience or existing holdings|
The underlying coding algorithms are documented through the JPEG encoding standard (ISO/IEC 10918-1:1994). The profile for MJPEG is specified as part of the OpenDML extensions to AVI (AVI_OpenDML_1_02), an open specification produced by a committee working in association with Matrox Electronic Systems Ltd. of Canada.
The Wikipedia article on Motion JPEG (consulted in March 2016) states that "M-JPEG is frequently used in non-linear video editing systems. Modern desktop CPUs are powerful enough to work with high-definition video so no special hardware is required and they in turn offer native random-access to a frame, M-JPEG support is also widespread in video-capture and editing equipment."
|Licensing and patents||
Apparently none, except as indicated for JPEG.
Depends upon algorithms and tools to read; will require sophistication to build tools. See also the comment in Description, above.
|Self-documentation||Not applicable; provided by wrapper formats.|
|Technical protection considerations||Not applicable; provided by wrapper formats.|
|Normal rendering||Not applicable|
|Clarity (high image resolution)||Very good to excellent, depending upon sampling (e.g., 4:2:2 as compared to 4:1:1, etc.), capture of both fields for each frame, the type and extent of compression, and the encoder used.|
|Functionality beyond normal rendering||Not applicable.|
|Filename extension||Not applicable.|
|Internet Media Type||Not applicable.|
|Magic numbers||Not applicable.|
||Used when this codec is wrapped in Microsoft file formats, e.g., AVI and ASF; see, for example the archived version of the Microsoft registry mounted by IANA.|
|General||Slight discussion of MJPEG in John McGowan's AVI Overview: Audio and Video Codecs (http://www.jmcgowan.com/avicodecs.html).|