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]
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.
Contents[hide] |
[edit]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.[citation needed] 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]
[edit]Coding details
If you open up an unencrypted VOB file or other program stream with a hex editor you will see the following structure.
| Name | Number of bits | Description |
|---|---|---|
| sync bytes | 32 | 0x000001BA |
| marker bits | 2 | 01b |
| System clock [32..30] | 3 | System Clock Reference (SCR) bits 32 to 30 |
| marker bit | 1 | 1 Bit always set. |
| System clock [29..15] | 15 | System clock bits 29 to 15 |
| marker bit | 1 | 1 Bit always set. |
| System clock [14..0] | 15 | System clock bits 14 to 0 |
| marker bit | 1 | 1 Bit always set. |
| SCR extension | 9 | |
| marker bit | 1 | 1 Bit always set. |
| bit rate | 22 | In units of 50 bytes per second. |
| marker bits | 2 | 11 Bits always set. |
| reserved | 5 | reserved for future use |
| stuffing length | 3 | |
| stuffing bytes | 8*stuffing length | |
| system header (optional) | 0 or more | if system header start code follows: 0x000001BB |
| Name | Number of bytes | Description |
|---|---|---|
| sync bytes | 4 | 0x000001BB |
| header length | 2 | |
| rate bound and marker bits | 3 | |
| audio bound and flags | 1 | |
| flags, marker bit, and video bound | 1 | |
| Packet rate restriction and reserved byte | 1 |
本文深入探讨了 MPEG-2 Program Stream 的编码结构和细节,包括其创建方式、使用场景以及内容包含。MPEG-2 Program Stream 是一种用于组合数字音频、视频和其他媒体元素的容器格式,广泛应用于 DVD-Video 和 HD DVD 视频光盘。了解其编码结构有助于更有效地管理和传输多媒体内容。
21万+

被折叠的 条评论
为什么被折叠?



