This FAQ is developed to help answer questions about MPEG-4. It starts where the official MPEG-4 FAQs finish. The list is maintained by Peter Haighton. If you have additions or changes, please send them to [email protected]
- What is MPEG-4?
MPEG-4 is the latest compression standard developed by MPEG, the same group that brought us MPEG-1 and MPEG-2. MPEG-4 builds on the
proven success of three fields:
- Digital Television
- Interactive graphics applications (synthetic content);
- Interactive multimedia (World Wide Web, distribution of and access to content)
It brings these areas together to develop a standard that enables the production of content that has far greater reusability and flexibility than is possible today with individual technologies.
MPEG-4 brings higher levels of interaction with content, controlled by the content developers. It also brings multimedia to new types of networks, including those employing relatively low bitrates, and mobile ones.
- Is MPEG-4 complete and usable?
Yes. The first version of MPEG-4 was released in 1999 and can be implemented today. Since the initial release, amendments to the specification have been developed that add new functionality to the standard. These additions do not break the original specification, but instead enhance it. This means that a Simple profile encoder built in 1999 will still conform to the standard today.
- If the Standard is complete, then what is ISMA?
ISMA is the Internet Streaming Media Alliance. MPEG-4 is a toolbox with many interoperability points (Profiles and Levels), and in order to have different products from different vendors to interoperate, there must be an agreement on what parts of the standard are used for an application.
Also, MPEG-4 does not specify how to transport the bits over various networks. ISMA has developed a specification based on MPEG-4 that standardizes internet streaming by agreeing on MPEG-4 profiles and levels and how is the content transmitted.
- What are Profiles and Levels?
Profiles and levels are interoperability/Conformance points. In order to make sure that MPEG-4 products work with other MPEG-4 products from other vendors, conformance points are developed. These points specify items such as
<
UL style="list-style-type: square;">
- Tools that can be used
- Bitrates
- Image Sizes
- Number of objects
With out these Profiles and Levels, there would be no way to know that one product could work with another.
- Why are there so many profiles and levels?
MPEG-4 is a very rich toolbox that targets a number of different applications. Some of these applications are Studio editing, Interactive broadcast, Internet Streaming, and wireless devices.Each application has its own set of requirements. For example, Studio applications need very large image sizes and high decoding capacity that could never be supported on a small wireless device. To support the different applications, conformance points are developed that permit different vendors to develop products that meet the requirements of their industry. If a product conforms to a certain profile and level, then it will interoperate with other products that conform to the same profile and level.
- What are the different parts of the MPEG-4 Standard?
Currently MPEG-4 is broken down into 8 Separate parts, some of which are still under development and are not available for purchase from ISO.
- ISO/IEC 14496-1 (Systems)
Contains tools such as BiFS, Object Descriptors, FlexMux, MP4 File Format, etc.
- ISO/IEC 14496-2 (Visual)
Includes natural and synthetic coding as well as Facial and Body Animation.
- ISO/IEC 14496-3 (Audio)
Including Speech coding, General Audio Coding, Structured Audio, Text to Speech interface, Parameteric Audio.
- ISO/IEC 14496-4 (Conformance)
Specifies tests to be performed to verify whether bitstreams and decoders meet the requirements of parts 1, 2, 3, and 6.
- ISO/IEC 14496-5 (Reference Software)
Unoptimized software implementation of the MPEG-4 specification.
- ISO/IEC 14496-6 (Delivery Multimedia Integration Framework
Provides a means for transparent access and delivery of content irrespective of delivery technologies.
- ISO/IEC 14496-7 (Optimised software for MPEG-4 tools) -- Under development
- ISO/IEC 14496-8 (4 on IP framework) -- Under developement
A framework for transmitting MPEG-4 over IP neworks
- What is happening to the licensing of MPEG-4?
Patent Holders are currently working on developing the licensing necessary for MPEG-4. The current date for licensing the Simple and Core visual profiles is expected to be early 2002.
- Where can I purchase the standard?
The MPEG-4 Standard (ISO/IEC 14496) can be purchased online at the ISO website.
- Why do I have to buy the standard? Shouldn't be free?
Developing a standard takes a lot of time and money. In order for ISO to recover some of the costs associated with the development of the MPEG-4 standard, it sells the specification. Considering the amount of work that has gone into developing this standard, it is certainly well worth the money.
- I went to the ISO site to purchase the specification. What are the CORs and AMDs?
COR stands for Corrigenda. A Corrigenda is issued whenever corrections are needed to fix the specification due to (usually small) editing errors. AMD stands for Amendment, and is issued whenever new functionality is added to the standard, such as the streaming video profiles. Amendments in MPEG-4 do not invalidate earlier, already deployed products. They enhance the standard
- If I have an encoder that does not use all the tools in a profile/level, is it compliant?
Yes, as long as the bitstreams from the encoder do not exceed the bounds defined by the profile/level combination, such as bitrate, buffer sizes, etc. It is possible in the simple profile to make an encoder that only encodes Intra frames (Key frames) that is fully compliant. Leaving out tools such as Inter frames, AC Prediction, and data partitioning is not in violation of the standard, but the video will be of low quality. This is important to note: the standard does not specify the encoding process.
- Should I wait for MPEG-7 and skip MPEG-4 for my streaming needs?
MPEG-7 does not compress multimedia data for later playback. Instead, it is a standard for describing multimedia content. For more information on MPEG-7, see Overview of the MPEG-7 Standard.
- I tried viewing an MPEG-4 video created by one company on another company's viewer and it crashed? If MPEG-4 is a standard why did it not work?
This can be due to a host of reasons. An MPEG-4 decoder should never crash. A decoder must be resilient to all error conditions. In this case, the problem could be in the encoder, in the decoder, or the bitstream could simply be corrupted.
- Can video frames be compressed instead of objects?
Simple Answer: Yes.
Involved Answer: Everything inside MPEG-4 is an object. It does not matter whether the object is arbitrary-shaped or a rectangular video frame, or even 5.1 channel audio. The simplest visual profiles support only rectangular objects (frames).
- What is the maximum image size that I can use in Simple Profile?
With the exception on Level 0, the visual specification does not specify what maximum size an image can be. It does however specify the number of macroblocks (16 x 16 areas) that can be used. For example, Level 1 allows up to 99 macroblocks that can be configured as 1584 x 16 or 176 x 144 (QCIF) or 16 x 2023 - or any other rectangular size (divisible in each direction by 16) in between.
Level 0 and Level 1 support up to 99 Macroblocks each.
Level 2 and Level 3 support up to 396 Macroblocks each.
Level 0 has an additional restriction. The horizontal size can not be greater that 176 and the vertical size can be no greater than 144.
- Can I do interlaced video with the simple visual profile?
No. Interlaced Video is not supported in the Simple Profile. It is supported in Advanced Simple from Level 4 and up.
- Which visual profiles support arbitrarily shaped objects?
The following visual profiles support arbitrary shaped objects
- Core
- Main
- N-bit
- Advanced Coding Efficiency
- Core Scalable
The following visual profiles do not support arbitrary shaped objects
- Simple
- Simple Scalable
- Advanced Real Time Simple
- Advanced Scalable Texture
- Advanced Simple
- Fine Granularity Scalable
- Where can I find a list of supported tools for a profile?
The visual specification (ISO/IEC 14496-2) contains a list of all tools that can be used for a particular profile.
- I have heard of a Level 0 for Simple Profile, what is it?
Level 0 of the simple profile was designed to target to the wireless industry where screen sizes are small, and processing power is low. Level 0 has the same functionality as the other Simple profile levels but with the following additional restrictions.
- The maximum frame rate shall be 15 frames per second;
- The maximum f_code shall be 1;
- The intra_dc_vlc_threshold shall be 0;
- The maximum horizontal luminance pixel resolution shall be 176 pels/line;
- The maximum vertical luminance pixel resolution shall be 144 pels/VOP;
- If AC prediction is used, the following restriction applies : QP value shall not be changed within a VOP (or within a video packet if video packets are used in a VOP). If AC prediction is not used, there are no restrictions to changing QP value.
Level 0 is available in the Streaming Video Profile Amendment.
- Does MPEG-4 Video support H.263?
Yes. H.263 Baseline (No Annexes) is incorporated as part of MPEG-4. It is known as 'short header' inside the specification.
- I have heard that MPEG-4 visual is wavelet based. Is that true?
Yes and No. The visual specification still uses the Discrete Cosine Transform (DCT) for its video compression, however, the still texture part uses the Discrete Wavelet transform.
- I have heard rumours that MPEG is adopting H.26L to replace MPEG-4, is that true?
No. MPEG has started talking with the video compression group inside ITU for joint compression development. Output from this joint venture would result in a new part to the MPEG-4 standard, to be finalized in early 2003. It will become part of the MPEG-4 framework.
- I see that OBMC is in the visual specification. Which profiles use it?
Although OBMC (Overlapped Block Motion Compensation) was integrated into the MPEG-4 visual specification, currently no MPEG-4 Profile supports this tool. It may become part of a new profile if new requirements are developed.
- What does "Max unique quant tables" in the visual profiles and levels annex mean?
This column of the profiles and levels table specifies the maximum number of unique quantization tables that each profile/level combination can use for all of the objects in a visual scene.
How the tables are configured (ie how many of each type) is left to the encoder.
For example, Main Profile/Level 2 allows up to 4 unique quantization tables for 16 objects. Without gray-shapes, it is possible to have 3 intra tables and 1 inter table, or 2 intra and 2 inter tables etc. With gray-shapes, it is more likely that the table configuration would result in 2 texture tables (1 intra and 1 inter), and 2 gray-shape tables (1 intra and 1 inter).
- I have heard that the MPEG-4 file format is the same as quicktime, is that true?
No. Although Apple's QuickTime file format was adopted as the basis for the MPEG-4 file format, it has gone though many changes in order to support all the functionality of MPEG-4. Apple has however, played a key role in the development of MP4, the MPEG-4 file format.
- Is it possible to parse an MP4 file to retrieve metadata without decoding the content?
Yes, the meta-data and structure parsing is uniform; there are no profiles of the structure of the file format.
- Can I extract description information from an MP4 file using a QuickTime parser?
Yes, the sample description (which in MPEG-4 contains an ESD) is in the same place as a QuickTime file.
- Where can I get a copy of the streaming video profile?
It can be purchased in the form of the Final Draft Amendment (FDAM) from ISO. ISO/IEC 14496-2:2001 FDAM 2 to be exact. The FDAM is going through a final balloting round, but the outcome of that ballot will not affect the text of the standard. To order a copy send an email to [email protected] requesting the FDAM.
- Where can I get example source code for MPEG-4?
Reference software was developed as a normative part of the MPEG-4 standard and is used to help understand and implement the specification. It is sepearated into 3 parts, audio, visual and systems and each piece of software implements a different part of the standard.
Example source code (reference source code) for MPEG-4 can be found on the ISO website or click here. There are some restrictions regarding its use, so read carefully.
- Can I play an MPEG-4 bitstream with MPEG-4 audio and MPEG-4 video on the IM1 reference software?
No. Each part of the reference software is self contained and does not
interoperate with any other part. Both the Visual and Audio software are
able to read and write elementary bitstreams compliant to their parts,
while the systems software (also known as IM1) uses the MPEG-4 file format
to read and display contnent specific to its part. For testing purposes, IM1
uses the ITU-T standards H.263 for video and G.723 for audio.
- What is low Complexity AAC?
Low Complexity AAC (Advanced Audio Coding) is similar to standard AAC except that prediction is not used and there is a lower order Temporal Noise Shaping (TNS) filter.