MPEG program stream

Program stream (PS or MPEG-PS) is a container format for multiplexing digital audio, video and more. The PS format is specified in MPEG-1 Part 1 (ISO/IEC 11172-1) and MPEG-2 Part 1, Systems (ISO/IEC standard 13818-1[6]/ITU-T H.222.0[4][5]). The MPEG-2 Program Stream is analogous and similar to ISO/IEC 11172 Systems layer and it is forward compatible.[7][8]

MPEG Program Stream
Filename extension
.mpg, .mpeg, .m2p, .ps
Internet media type
video/MP2P, video/MP1S[1]
Developed byMPEG
Initial release1993 (1993)[2]
Type of formatMedia container
Container forAudio, video, data
Extended toVOB, EVO, MOD
StandardISO/IEC 11172-1,[2] ISO/IEC 13818-1,[3] ITU-T H.222.0[4][5]

Program streams are used on DVD-Video discs and HD DVD video discs, but with some restrictions and extensions.[9][10] The filename extensions are VOB and EVO respectively.

Coding structure

Program streams are created by combining one or more Packetized Elementary Streams (PES), which have a common time base, into a single stream. It is designed for reasonably reliable media such as disks, in contrast to MPEG transport stream which is for data transmission in which loss of data is likely. Program streams have variable size records and minimal use of start codes which would make over the air reception difficult, but has less overhead. Program stream coding layer allows only one program of one or more elementary streams to be packaged into a single stream, in contrast to transport stream, which allows multiple programs.[7]

MPEG-2 Program stream can contain MPEG-1 Part 2 video, MPEG-2 Part 2 video, MPEG-1 Part 3 audio (MP3, MP2, MP1) or MPEG-2 Part 3 audio.[7] It can also contain MPEG-4 Part 2 video, MPEG-2 Part 7 audio (AAC) or MPEG-4 Part 3 (AAC) audio,[7] but they are rarely used. The MPEG-2 Program stream has provisions for non-standard data (e.g. AC-3 audio or subtitles) in the form of so-called private streams.[11] International Organization for Standardization authorized SMPTE Registration Authority, LLC as the registration authority for MPEG-2 format identifiers. It publishes list of compression formats which can be encapsulated in MPEG-2 transport stream and program stream.[12]

Coding details

Partial MPEG-2 Program Stream pack header format[13]
Name Number
of bits
Description
sync bytes320x000001BA
marker bits201b for MPEG-2 version. The marker bits for the MPEG-1 version are 4 bits with value 0010b.
System clock [32..30]3System Clock Reference (SCR) bits 32 to 30
marker bit11 Bit always set.
System clock [29..15]15System clock bits 29 to 15
marker bit11 Bit always set.
System clock [14..0]15System clock bits 14 to 0
marker bit11 Bit always set.
SCR extension9
marker bit11 Bit always set.
bit rate22In units of 50 bytes per second.
marker bits211 Bits always set.
reserved5reserved for future use
stuffing length3
stuffing bytes8*stuffing length
system header (optional)0 or moreif system header start code follows: 0x000001BB
Partial system header format
Name Number
of bytes
Description
sync bytes40x000001BB
header length2
rate bound and marker bits3
audio bound and flags1
flags, marker bit, and video bound1
Packet rate restriction and reserved byte1

See also

References

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.