# MPEG-4 Part 2

MPEG-4 Part 2, MPEG-4 Visual (formally ISO/IEC 14496-2) is a video encoding specification designed by the Moving Picture Experts Group (MPEG). It belongs to the MPEG-4 ISO/IEC family of encoders. It uses block-wise motion compensation and a discrete cosine transform (DCT), similar to previous encoders such as MPEG-1 Part 2 and H.262/MPEG-2 Part 2.
Examples of popular implementations of the encoder specifications include DivX, Xvid and Nero Digital.
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.

## Editions

MPEG-4 Visual editions :
| Edition | Release date | Latest amendment | Standard |
| First edition | 1999 | 2000 | ISO/IEC 14496-2:1999 |
| Second edition | 2001 | 2003 | ISO/IEC 14496-2:2001 |
| Third edition | 2004 | 2009 | ISO/IEC 14496-2:2004 |

## 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.

#### Levels

| Level | Max. buffer | Max. bitrate | Max. delay at max. bitrate | Max. VP size | Max. VOP size | Max. decoder rate | Max. framesize | Max. framesize | Max. framesize | Max. framesize | Max. framesize |
| Level | Max. buffer | Max. bitrate | Max. delay at max. bitrate | Max. VP size | Max. VOP size | Max. decoder rate | @ 30 Hz | @ 25 Hz | @ 24 Hz | @ 15 Hz | @ 12.5 Hz |
| 0 | 160 | 64 | 2.50 | 2,048 | 99 | 1,485 | — | — | — | QCIF (176×144) | QCIF (176×144) |
| 0b | 320 | 128 | 2.50 | 2,048 | 99 | 1,485 | — | — | — | QCIF (176×144) | QCIF (176×144) |
| 1 | 160 | 64 | 2.50 | 2,048 | 99 | 1,485 | 128×96 | 144×96 | 160×96 | QCIF (176×144) | QCIF (176×144) |
| 2 | 640 | 128 | 5.00 | 4,096 | 396 | 5,940 | 256×192 | 304×192, 288×208 | 304×208 | CIF (352×288) | CIF (352×288) |
| 3 | 640 | 384 | 1.66 | 8,192 | 396 | 11,880 | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) |
| 4a | 1,280 | 4,000 | 0.32 | 16,384 | 1,200 | 36,000 | VGA (640×480) | VGA (640×480) | VGA (640×480) | VGA (640×480) | VGA (640×480) |
| 5 | 1,792 | 8,000 | 0.22 | 16,384 | 1,620 | 40,500 | D1 NTSC (720×480) | D1 PAL (720×576) | D1 PAL (720×576) | D1 PAL (720×576) | D1 PAL (720×576) |
| 6 | 3,968 | 12,000 | 0.33 | 16,384 | 3,600 | 108,000 | 720p (1280x720) | 720p (1280x720) | 720p (1280x720) | 720p (1280x720) | 720p (1280x720) |
| Units | kbits | kbits/s | seconds | bits | macroblocks | macroblocks/s | pixels | pixels | pixels | pixels | pixels |

### 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.

#### Levels

| Level | Max. buffer | Max. bitrate | Max. delay at max. bitrate | Max. VP size | Max. VOP size | Max. decoder rate | Max. framesize | Max. framesize | Max. framesize | Max. framesize | Max. framesize |
| Level | Max. buffer | Max. bitrate | Max. delay at max. bitrate | Max. VP size | Max. VOP size | Max. decoder rate | @ 30 Hz | @ 25 Hz | @ 24 Hz | @ 15 Hz | @ 12.5 Hz |
| 0 | 160 | 128 | 1.25 | 2,048 | 99 | 2,970 | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) |
| 1 | 160 | 128 | 1.25 | 2,048 | 99 | 2,970 | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) | QCIF (176×144) |
| 2 | 640 | 384 | 1.66 | 4,096 | 396 | 5,940 | 256×192 | 304×192, 288×208 | 304×208 | CIF (352×288) | CIF (352×288) |
| 3 | 640 | 768 | 0.86 | 4,096 | 396 | 11,880 | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) |
| 3b | 1,040 | 1,500 | 0.69 | 4,096 | 396 | 11,880 | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) | CIF (352×288) |
| 4 | 1,280 | 3,000 | 0.43 | 8,192 | 792 | 23,760 | 352×576, 704×288 | 352×576, 704×288 | 352×576, 704×288 | 352×576, 704×288 | 352×576, 704×288 |
| 5 | 1,792 | 8,000 | 0.22 | 16,384 | 1,620 | 48,600 | 720×576 | 720×576 | 720×576 | 720×576 | 720×576 |
| Units | kbits | kbits/s | seconds | bits | macroblocks | macroblocks/s | pixels | pixels | pixels | pixels | pixels |

### 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.

#### Levels

Levels with maximum property values :
| Level | Max. bit depth and chroma subsampling | Max. resolution and frame rate | Max. data rate (Mbit/s) |
| 1 | 10-bit 4:2:2 | SDTV | 180 |
| 2 | 10-bit 4:2:2 | 1920×1080 30p/30i | 600 |
| 3 | 12-bit 4:4:4 | 1920×1080 30p/30i | 900 |
| 4 | 12-bit 4:4:4 | 2K×2K 30p | 1,350 |
| 5 | 12-bit 4:4:4 | 4K×2K 30p | 1,800 |
| 6 | 12-bit 4:4:4 | 4K×2K 60p | 3,600 |

## Patent holders

MPEG-4 Part 2 patents have expired worldwide, the last one on January 28, 2024. The following organizations held patents for MPEG-4 Visual technology, as listed in the patent pool administered by MPEG LA.
| Organization | Patents |
| Mitsubishi Electric | 255 |
| Hitachi | 206 |
| Panasonic | 200 |
| Sun Patent Trust | 125 |
| Toshiba | 96 |
| Samsung Electronics | 92 |
| Sony | 84 |
| Philips | 73 |
| Sharp Corporation | 44 |
| Pantech | 36 |
| Robert Bosch GmbH | 27 |
| Nippon Telegraph and Telephone | 24 |
| GE Technology Development | 23 |
| CIF Licensing | 20 |
| Dolby | 19 |
| Telenor | 19 |
| Siemens AG | 15 |
| JVC Kenwood | 14 |
| Orange S.A. | 14 |
| LG Electronics | 13 |
| Fujitsu | 11 |
| ZTE | 10 |
| Google | 9 |
| BT Group | 3 |
| Calmare Therapeutics | 2 |
| Cable Television Laboratories, Inc. | 1 |
| Canon Inc. | 1 |
| KDDI | 1 |
| Microsoft | 1 |
| Oki Electric Industry | 1 |
| Sanyo | 1 |

## 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