In IT we get to mess with all sorts of weird and wonderful data - whether we want to or not. How often have you had to deal with a user who has critical data in some file format that you know nothing about and, worse still, the user absolutely needs the data in some useful format and apparently has limitless faith in your technical ability? Well, limitless faith in your abilities or else absolutely no idea what you are being asked to do.
In an effort to make sure you are up to speed on a data format that is becoming more common but is more-or-less "new" to many of us, this week we're going to take a look at MPEG-4.
MPEG stands for Motion Picture Experts Group, a working group of the International Standards Organization that is in charge of the development of standards for coded representation of digital audio and video.
The group was founded in 1988 and has produced a range of standards that are crucial to audio and video products. These standards include MPEG-1 used in Video CD and which underlies the MP3 audio data encoding system (note that MP3 is shorthand for MPEG-1 or MPEG-2 Layer 3 audio encoding and not a shortened acronym for MPEG-3) as well as MPEG-2 used in satellite and cable digital television and DVD encoding (see the MPEG FAQ for lots of background).
Currently in the works with the MPEG committee are MPEG-7, a standard for the description and searching of audiovisual content; and MPEG-21, a "Multimedia Framework."
The MPEG-4 video standard was released in 1999 and various additions to the specification have been developed to add new functionality to the standard, which was frozen as MPEG-4 Version 2 in 2000. All additions have been designed for complete backward compatibility.
To be exact, MPEG-4 is not just about video, it is a method for describing audiovisual scenes composed of a hierarchy of "media objects." The primitive media objects include still images, such as a fixed background image; video objects, such as a talking person without the background; and audio objects, such as the sound associated with the video object and or background music.
The MPEG-4 documentation explains that: "MPEG-4 standardizes a number of such primitive media objects, capable of representing both natural and synthetic content types, which can be either two- or three-dimensional. . . . In addition . . . MPEG-4 defines the coded representation of objects such as: text and graphics; talking synthetic heads and associated text used to synthesize the speech and animate the head; animated bodies to go with the faces; synthetic sound."
If you check out Microsoft's Windows Media Player 7.1 or later you'll find that the supplied codecs (software modules that convert and compress analog audio and video into a digital format for storage and transmission then convert the digital data back to analog form for playing) include Microsoft MPEG-4 Version 3, Microsoft MPEG-4 Version 1 and 2, and ISO MPEG-4 Versions 1 and 1.1. The first two codecs sound like they conform to the MPEG-4 standard but, as far as we can determine, they are actually Microsoft's own incompatible interpretation. Why would Microsoft not follow the standards? The company's position on this is articulated on their "Microsoft and MPEG-4" page: "While Microsoft continues to support the MPEG-4 standardization process, it is moving forward with the development of audio and video technologies that deliver superior quality and an end-to-end streaming solution for Microsoft customers." Sigh.