MPEG-4 Visual: high level bitstream overview

MPEG-4 Visual (also recognized as MPEG-4 Part 2 and ISO/IEC 14496-2) initially released in 1999 under MPEG’s guidance. It retains backward compatibility with H.263, developed by the ITU-T group. This implies that any video encoded with H.263 can be decoded using an MPEG-4 Visual decoder. However, MPEG-4 Visual have additional features beyond the scope of the H.263 format. Developed after MPEG-2 Video and before AVC (MPEG-4 Part 10), MPEG-4 Visual’s adoption rate is not as widespread as its successor. This article is a high level overview of MPEG-4 Visual bitstream syntax. In the article we will describe main syntax elements of MPEG-4 Visual video. We will use Virinext Bitstream Analyzer to analyze MPEG-4 Visual. You can download the evaluation version on the download page. For license acquiring please check the Buy license page.

High level bitstream overview

Virinext Bitstream Analyzer with opened MPEG-4 Visual file
Virinext Bitstream Analyzer with opened MPEG-4 Visual file

MPEG-4 Visual is a sequence of syntax elements. Each syntax element starts by the 0x000001 3-bytes prefix followed by a start code byte that describes element type.

There are multiple types of syntax elements, but most commonly used is following:

  • Visual Object Sequence
  • Visual Object
  • Video Object Layer
  • Video Object Plane

MPEG-4 Visual elementary stream starts with Visual Object Sequence followed by one or more Visual Object elements. They are followed by Video Object Layer and one or multiple Video Object Planes (VOP) which contain coded picture data.

There are following picture types:

  • I-frame (intra-coded) – picture with only intra prediction
  • P-frame (predictive-coded) – picture with inter prediction from one previous I- or P-frame
  • B-frame (bidirectionally predictive-coded) – picture with inter prediction from two previous I- or P-frames

I-frame exploits spatial redundancy only. P-frame and B-frame can use intra prediction as well as inter prediction (exploits temporal redundancy between frames).

Visual Object Sequence and Visual Object

Both Visual Object Sequence and Visual Object contain coding parameters which apply to the series of consecutive coded video frames.  Visual Object Sequence describes profile and level, Visual Object carries out information about format, video range (full or narrow) and color parameters.

Visual Object Sequence and Visual Object displayed  in Virinext Bitstream Analyzer
Visual Object Sequence and Visual Object

Video Object Layer

Video Object Layer describes high level frame parameters and applуed to a series of consecutive video pictures. These parameters include frames width and height, aspect ratio, bit depth, etc. Screenshot below illustrates parameters stored in Video Object Layer.

Video Object Layer displayed  in Virinext Bitstream Analyzer
Video Object Layer

Video Object Plane

Video Object Plane contains data from one coded frame or field (when stream is interlaced).

Video Object Playne displayed in Virinext Bitstream Analyzer
Video Object Plane

Conclusion

In this article, we have explored the MPEG-4 Visual video compression standard. We have examining details of standard and exploring PEG-4 Visual bitstream syntax and they key elements such as Visual Object Sequence, Visual Object, Video Object Layer and Video Object Plane. With Virinext Bitstream Analyzer, you can analyze MPEG-4 Visual files and gaining insights of the low level encoding and bitstream parameters. Virinext Bitstream Analyzer offers both in-depth and high-level analysis for various encoding standards, including MPEG-4 Visual, making it a valuable tool for researchers and developers. If you interested in exploring further, we are offering you to try free evaluation version of Virinext Bitstream Analyzer. Virinext Bitstream Analyzer is a GUI tool for both in-depth and high-level analysis for many encoding standards including MPEG-4 Visual.