MPEG-4 Part 2

MPEG-4 Part 2, MPEG-4 Visual (formally ISO/IEC 14496-2 ) is a video compression format developed by the Moving Picture Experts Group (MPEG). It belongs to the MPEG-4 ISO/IEC standards. It uses block-wise motion compensation and a discrete cosine transform (DCT), similar to previous standards such as MPEG-1 Part 2 and H.262/MPEG-2 Part 2.

Several popular codecs including DivX, Xvid, and Nero Digital implement this standard. MPEG-4 Part 10 defines a different format from MPEG-4 Part 2. MPEG-4 Part 10 is commonly referred to as H.264 or AVC, and was jointly developed by ITU-T and MPEG.

MPEG-4 Part 2 is H.263 compatible in the sense that a basic H.263 bitstream is correctly decoded by an MPEG-4 Video decoder. (MPEG-4 Video decoder is natively capable of decoding a basic form of H.263.)  In MPEG-4 Visual, there are two types of video object layers: the video object layer that provides full MPEG-4 functionality, and a reduced functionality video object layer, the video object layer with short headers (which provides bitstream compatibility with base-line H.263). MPEG-4 Part 2 is partially based on ITU-T H.263. The first MPEG-4 Video Verification Model (simulation and test model) used ITU-T H.263 coding tools together with shape coding.

History
The MPEG-4 Visual format was developed by the Moving Picture Experts Group (MPEG) committee. The specification was authored by Iranian-Swiss engineer Touradj Ebrahimi (later the president of JPEG) and Dutch engineer Caspar Horne. The standard was developed using patents from over a dozen organizations, listed by MPEG LA in a patent pool. The majority of patents used for the MPEG-4 Visual format were from three Japanese companies: Mitsubishi Electric (255 patents), Hitachi (206 patents), and Panasonic (200 patents). See Patent holders below for a full list of patent holders.

Profiles
To address various applications ranging from low-quality, low-resolution surveillance cameras to high definition TV broadcasting and DVDs, many video standards group features into profiles and levels. MPEG-4 Part 2 contains approximately 21 profiles.

The most commonly deployed profiles are the Advanced Simple Profile (ASP or AS Profile) and the Simple Profile (SP), which is a subset of the ASP.

Other profiles include the Advanced Coding Efficiency Profile (ACEP or ACE Profile), the Advanced Real Time Simple Profile (ARTSP or ARTS Profile), the Core Profile (CP), the Main Profile (MP), and the Simple Studio Profile (SStP or SSt Profile).

Most of the video compression schemes standardize the bitstream (and thus the decoder) leaving the encoder design to the individual implementations. Therefore, implementations for a particular profile (such as DivX or Nero Digital which are implementations of Advanced Simple Profile and Xvid that implements both profiles) are all technically identical on the decoder side. A point of comparison would be that an MP3 file can be played in any MP3 player, whether it was created through iTunes, Windows Media Player, LAME, or the common Fraunhofer encoder.

Simple Profile (SP)
The Simple Profile is mostly aimed for use in situations where low bit rate and low resolution are mandated by other conditions of the applications, like network bandwidth, device size etc. Examples are mobile phones, some low end video conferencing systems, electronic surveillance systems etc.

Advanced Simple Profile (ASP)
The Advanced Simple Profile was not included in the original standard. Its notable technical features relative to the Simple Profile, which is roughly similar to H.263, include:
 * Support for "MPEG"-style quantization
 * Support for interlaced video
 * Support for B pictures (a.k.a. B-frames)
 * Quarter Pixel motion compensation (Qpel)
 * Global motion compensation (GMC)

The MPEG quantization and interlace support are designed in basically similar ways to the way it is found in MPEG-2 Part 2. The B picture support is designed in a basically similar way to the way it is found in MPEG-2 Part 2 and H.263v2.

The quarter-pixel motion compensation feature of ASP was innovative, and was later also included (in somewhat different forms) in later designs such as MPEG-4 Part 10, HEVC, VC-1 and VVC. Some implementations of MPEG-4 Part 2 omit support for this feature, because it has a significantly harmful effect on the speed of software decoders and it is not always beneficial for quality.

The global motion compensation feature is not actually supported in most implementations although the standard officially requires decoders to support it. Most encoders do not support it either, and some experts say that it does not ordinarily provide any benefit in compression. When used, ASP's global motion compensation has a large unfavorable impact on speed and adds considerable complexity to the implementation.

Simple Studio Profile (SStP)
The Simple Studio Profile has six levels, ranging from SDTV to 4K resolution. SStP allows for up to 12-bit bit depth and up to 4:4:4 chroma subsampling, using intra-frame coding only. SStP is used by HDCAM SR.

Patent holders
MPEG-4 Part 2 patents expired worldwide, with the exception of only Brazil. The last US patent expired on November 14, 2023. The following organizations held patents for MPEG-4 Visual technology, as listed in the patent pool administered by MPEG LA. 

Criticisms
MPEG-4 Part 2 has drawn some industry criticism. FFmpeg's maintainer Michael Niedermayer has criticised MPEG-4 for lacking an in-loop deblocking filter, GMC being too computationally intensive, and OBMC being defined but not allowed in any profiles among other things. Microsoft's Ben Waggoner states "Microsoft (well before my time) went down the codec standard route before with MPEG-4 part 2, which turns out to be a profound disappointment across the industry - it didn't offer that much of a compression advantage over MPEG-2, and the protracted license agreement discussions scared off a lot of adoption. I was involved in many digital media projects that wouldn't even touch MPEG-4 in the late 1990s to early 2000s because there was going to be a 'content fee' that hadn't been fully defined yet."

Popular software implementations

 * 3ivx
 * DivX
 * HDX4
 * libavcodec
 * Nero Digital
 * QuickTime
 * Xvid