Sustainability of Digital Formats: Planning for Library of Congress Collections |
|
![]() |
|
Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact |
Full name | MPEG-2 Program Stream |
---|---|
Description |
According to ISO/IEC 13818-1, MPEG-2 Program Stream (MPEG-2 PS or PS) is one of the two (the other being MPEG-2 Transport Stream (MPEG-2 TS)) system coding options for MPEG-2 Video Encoding (H.262) video and audio data. Transport streams and program streams are each logically constructed from packetized elementary streams (PES) but differ in their intended use and how they handle multiple programs. Charles Poynton's Digital Video and HD Algorithms And Interfaces (2nd Ed.) (link via Internet Archive) explains more about PES: "An elementary stream is packetized into packets of 188 bytes, the first byte being MPEG’s sync byte valued 47h. Some systems construct 204 byte packets, expecting the channel coder to overwrite the final 16 bytes of each packet; in this case the sync byte will be B8h" (p. 556). ISO/IEC 13818-1 explains that "Both the transport stream and program stream ... provide coding syntax which is necessary and sufficient to synchronize the decoding and presentation of the video and audio information, while ensuring that data buffers in the decoders do not overflow or underflow. Information is coded in the syntax using time stamps concerning the decoding and presentation of coded audio and visual data and time stamps concerning the delivery of the data stream itself. Poynton summaries a program stream as "a relatively simple mechanism to multiplex video and audio of a single program for storage or transmission on relatively error free media such as computer disks or digital optical media" (p. 556). The 2018 edition of the specification published as Recommendation ITU-T H.222 section 2.5.1 goes on to say that the "program stream coding layer allows one program of one or more elementary streams to be combined into a single stream. Data from each elementary stream are multiplexed together with information that allows synchronized presentation of the elementary streams within the program." In addition, in a program stream, "PES packets are organized in packs. A pack commences with a pack header and is followed by zero or more PES packets. The pack header begins with a 32-bit start-code. The pack header is used to store timing and bitrate information." ITU-T H.222 section 2.5 states that "the program stream begins with a system header that optionally may be repeated. The system header carries a summary of the system parameters defined in the stream." The header value starts with the value 0x000001BA. Other key header fields include the 1-bit fixed_flag which indicates CBR (Constant Bit Rate) (value = 1) or (VBR) Variable Bit Rate (value = 0). In addition the stream_id indicates the coding and elementary stream number. |
Production phase | Generally a final-state (end-user delivery) format |
Relationship to other formats | |
Subtype of | MPEG-2, MPEG-2 Video Encoding (H.262) |
Subtype of | MPEG-2_family, MPEG-2 Encoding Family. MPEG-2 TS supports both video and audio data |
Affinity to | MPEG-2 TS, MPEG-2 Transport Stream |
LC experience or existing holdings | See MPEG-2_family |
---|---|
LC preference | See MPEG-2_family |
Disclosure | See MPEG-2 Video Encoding (H.262) |
---|---|
Documentation | ISO/IEC 13818; first approvals in 1994. Ten parts have been published; parts 1, 2, 3, and 7 are central. Part 2 concerns the coding and specifies profiles and levels. See list of ISO documents in Format specifications below. |
Adoption |
DVDs and SVCDs use program streams, carrying the DVD- and SVCD-specific data in private data streams interleaved with the video and audio streamsMany software tools exist for encoding and decoding. Wide adoption may not extend to all profiles, levels, or parts of the standard. [Evidence in various documents suggests that the Simple, Main, and 4:2:2 profiles are the most widely adopted. Comments welcome] |
Licensing and patents | Managed by Via LA (Licensing Alliance) (https://www.via-la.com/licensing-2/mpeg-2/). Licenses pertain to tools and not to streams or files per se. |
Transparency | Depends upon algorithms and tools to read; will require sophistication to build tools. |
Self-documentation |
Technical (coding) information is contained in the MPEG-2 bitstream in macroblock headers, slice headers, picture headers, Group of Picture (GOP) headers, and sequence headers. The sequence header provides data needed before decoding can begin, such as the size of the picture and the frame rate. Because it is so important, the sequence header is usually repeated as often as twice a second. The lack of metadata of the type called bibliographic by librarians motivated the MPEG group to develop MPEG-7, a separately standardized structure for metadata to support discovery and other purposes. Accessibility Features MPEG-2 PS does not have specific features that enhance or support accessibility but the MPEG-2 family overall provides moderate accessibility support. According to the System Implementation of CEA-708 and CEA-608 Closed Captioning and Program-Related Data, "files that use MPEG-2 video compression encoding may carry closed caption data in the video user data, as per ATSC A/53 Part 4". Typically, accessibility features such as captions and subtitles are carried in containers and wrappers, not in encoded video data. See W3C's Making Audio and Video Media Accessible for more general information about accessible sound and moving image media. |
External dependencies | None |
Technical protection considerations | MPEG-2 shares with MPEG-4 elements of a standardized Intellectual Property Management and Protection (IPMP) scheme; see Intellectual Property Management and Protection in MPEG Standards. |
Moving Image | |
---|---|
Normal rendering | Good support. |
Clarity (high image resolution) | Moderate to very good, given that this is a format for lossy compression. Outcome will depend on the type and extent of compression, and the encoder used. |
Functionality beyond normal rendering | None. |
Sound | |
Normal rendering | Good support. |
Fidelity (high audio resolution) |
Moderate to very good, given that the options for audio employ lossy compression. The Society of Motion Picture and Television Engineers (SMPTE) provides specifications for incorporating AES3_SMPTE data into the MPEG-2 transport stream. Among other things, this permits the use of AC-3 compressed audio (aka Dolby Digital). For all types of compressed audio, the quality of the outcome will depend on the type and extent of compression, and the encoder used. |
Multiple channels |
Multi-channel sound is supported in both the backwardly compatible (BC) audio structures shared with MPEG-1, which includes layer 3 audio (MP3_ENC), and in the non-backwardly compatible AAC audio structure. MPEG-2 BC can deliver five main channels and an optional LFE (Low Frequency Encoding or Effects) channel, i.e., 5.1 surround sound. AAC provides a capability of up to 48 main audio channels, 16 LFE channels, 16 overdub/multilingual channels, and 16 data streams. The use of AC-3 compressed audio (aka Dolby Digital), described above in connection with AES3_SMPTE data, provides another means for presenting surround sound. |
Functionality beyond normal rendering | None |
Tag | Value | Note |
---|---|---|
Filename extension | See related format. | See also MPEG-2 Video Encoding (H.262). |
Internet Media Type | video/MP2P |
Registered with IANA [see http://www.iana.org/assignments/media-types/video] through RFC 3555; the four subtypes are glossed as "MPEG-1 or -2 Elementary Streams," "MPEG-2 Transport Streams," "MPEG-1 Systems Streams," and "MPEG-2 Program Streams" from IETF (Internet Engineering Task Force). |
Magic numbers | See related format. | See MPEG-2 Video Encoding (H.262) |
Uniform Type Identifier (Mac OS) | See related format. | Some resources including Wikipedia and PRONOM list UTI types for MPEG-PS such as public.mpeg and public.mpeg-2-video but this is more general and not specific to MPEG-PS. See MPEG-2 Video Encoding (H.262). |
Other | NF00778 |
See https://www.archives.gov/files/lod/dpframework/id/NF00778.ttl. |
Pronom PUID | x-fmt/386 |
See http://www.nationalarchives.gov.uk/PRONOM/x-fmt/386. |
Wikidata Title ID | Q922109 |
See https://www.wikidata.org/wiki/Q922109. |
General | See MPEG-2 Video Encoding (H.262) and MPEG-2 Encoding Family. |
---|---|
History | See MPEG-2 Video Encoding (H.262) and MPEG-2 Encoding Family. |
|