This Recommendation | International Standard specifies the system layer of the coding. It was developed in 1994 to principally support the combination and synchronization of video and audio coding methods defined in Parts 2 and 3 of ISO/IEC 13818. Since 1994, this standard has been extended to support additional video coding specifications (ISO/IEC 14496-2 and ISO/IEC 14496-10), audio coding specifications (ISO/IEC 13818-7 and ISO/IEC 14496-3), system streams (ISO/IEC 14496-1 and ISO/IEC 15938-1), IPMP (ISO/IEC 13818-11) as well as generic metadata. The system layer supports six basic functions:
1) the synchronization of multiple compressed streams on decoding;
2) the interleaving of multiple compressed streams into a single stream;
3) the initialization of buffering for decoding start up;
4) continuous buffer management;
5) time identification; and
6) multiplexing and signalling of various components in a system stream.
An ITU-T Rec. H.222.0 | ISO/IEC 13818-1 multiplexed bit stream is either a Transport Stream or a Program Stream. Both streams are constructed from PES packets and packets containing other necessary information. Both stream types support multiplexing of video and audio compressed streams from one program with a common time base. The Transport Stream additionally supports the multiplexing of video and audio compressed streams from multiple programs with independent time bases. For almost error-free environments the Program Stream is generally more appropriate, supporting software processing of program information. The Transport Stream is more suitable for use in environments where errors are likely.
An ITU-T Rec. H.222.0 | ISO/IEC 13818-1 multiplexed bit stream, whether a Transport Stream or a Program Stream, is constructed in two layers: the outermost layer is the system layer, and the innermost is the compression layer. The system layer provides the functions necessary for using one or more compressed data streams in a system. The video and audio parts of this Specification define the compression coding layer for audio and video data. Coding of other types of data is not defined by this Recommendation | International Standard, but is supported by the system layer provided that the other types of data adhere to the constraints defined in this Recommendation | International Standard.