mpeg2:mpeg2_elementary_stream_structure
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
mpeg2:mpeg2_elementary_stream_structure [2022/05/10 19:27] – emcodem | mpeg2:mpeg2_elementary_stream_structure [2022/05/10 20:01] (current) – emcodem | ||
---|---|---|---|
Line 1: | Line 1: | ||
< | < | ||
- | <h1>MPEG-2 Elementary Video</h1> | + | <!-- this is the global style for html elements on this page --> |
+ | <style type=" | ||
+ | /* Tabelle mit Standardwerten */ | ||
+ | #sheme | ||
+ | { border : 1px solid #4088b8; padding : 0px; margin : 10px 0px 18px 0px; font-size : 12px; background-color : #f4f4f4; } | ||
+ | #sheme th | ||
+ | { vertical-align : top; padding : 5px; border : 1px dotted #4088b8; font-size : 90%; } | ||
+ | #sheme td | ||
+ | { vertical-align : top; padding : 5px; border : 1px dotted #4088b8; font-size : 90%; } | ||
+ | /* Tabelle für Bytedarstellungen */ | ||
+ | #byte | ||
+ | { width : 800px; border : 1px solid #4088b8; padding : 0px; margin : 10px 0px 18px 0px; color : #4088b8; background-color : #ecf3f8; font-size : 12px; font-weight : normal; } | ||
+ | #byte th | ||
+ | { width : 93px; border : 1px dotted #4088b8; padding : 4px; text-align : center; vertical-align : middle; font-weight : bold; line-height: | ||
+ | #byte td | ||
+ | { width : 93px; border : 1px dotted #4088b8; padding : 4px; text-align : center; vertical-align : middle; line-height: | ||
+ | #byte td: | ||
+ | { width : 56px; font-weight : bold; } | ||
+ | </ | ||
+ | </html> | ||
- | </ | + | ===== MPEG-2 Elementary Video ===== |
- stream structure | - stream structure | ||
- Sequence headers | - Sequence headers | ||
Line 19: | Line 39: | ||
The structure differs from that of MPEG-1 elementary video in terms of the possible extensions and, in the case of the TMPG encoder, the number of slices. | The structure differs from that of MPEG-1 elementary video in terms of the possible extensions and, in the case of the TMPG encoder, the number of slices. | ||
- | |||
- | ==== MPEG-2 Elementary Video ==== | ||
- | ====== stream | + | ==== Structure of an MPEG-2 program |
+ | < | ||
- | Structure of an MPEG-2 program stream. | ||
- | + | | |
- | ==== video streaming: ==== | + | |
- | < | + | |
- | | + | |
< | < | ||
<tr height=" | <tr height=" | ||
Line 42: | Line 57: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 60: | Line 75: | ||
< | < | ||
| | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 76: | Line 91: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 92: | Line 107: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 107: | Line 122: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 127: | Line 142: | ||
- | ====== Sequence headers | + | ===== Sequence headers ===== |
Each header starts with the PACK_START_CODE_PREFIX, | Each header starts with the PACK_START_CODE_PREFIX, | ||
Line 135: | Line 150: | ||
It should also happen that sequence headers are not marked with $000001B3 but with $000000B3. | It should also happen that sequence headers are not marked with $000001B3 but with $000000B3. | ||
- | ===== Construction | + | == Construction == |
- 4 bytes: SEQUENCE_HEADER_CODE = $000001B3 | - 4 bytes: SEQUENCE_HEADER_CODE = $000001B3 | ||
Line 155: | Line 170: | ||
< | < | ||
<div id=" | <div id=" | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 248: | Line 263: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 282: | Line 297: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 359: | Line 374: | ||
- | ====== extensions | + | ===== extensions ===== |
At least one extension follows the sequence header. An MPEG-2 is identified via this. The ID of the extension is $B5. This is followed by the ID of the extension. These extensions should be considered for the sequence header: | At least one extension follows the sequence header. An MPEG-2 is identified via this. The ID of the extension is $B5. This is followed by the ID of the extension. These extensions should be considered for the sequence header: | ||
Line 368: | Line 383: | ||
- Sequence Scalable Extension | - Sequence Scalable Extension | ||
- | ====== Sequence Extension | + | ===== Sequence Extension ===== |
Extensions have the ID $B5. This is followed by the ID of the extension, here $1. | Extensions have the ID $B5. This is followed by the ID of the extension, here $1. | ||
- | ===== Construction | + | == Construction == |
- 4 bytes: EXTENSION_START_CODE = $000001B5 | - 4 bytes: EXTENSION_START_CODE = $000001B5 | ||
Line 394: | Line 409: | ||
<div id=" | <div id=" | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 458: | Line 473: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 495: | Line 510: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 526: | Line 541: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr align=" | <tr align=" | ||
Line 582: | Line 597: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 615: | Line 630: | ||
- | ====== Sequence Display Extension | + | ===== Sequence Display Extension ===== |
Extensionen are ID $B5. The ID is $2. | Extensionen are ID $B5. The ID is $2. | ||
- | ===== Aufbau ===== | + | == Construction |
4 Byte: EXTENSION_START_CODE = $000001B5 | 4 Byte: EXTENSION_START_CODE = $000001B5 | ||
Line 642: | Line 657: | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 710: | Line 725: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 744: | Line 759: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 790: | Line 805: | ||
< | < | ||
< | < | ||
- | < | + | < |
< | < | ||
<tr height=" | <tr height=" | ||
Line 837: | Line 852: | ||
- | ====== Quant Matrix Extension | + | ===== Quant Matrix Extension ===== |
Extensions have the ID $B5. The ID of this extension is $3. | Extensions have the ID $B5. The ID of this extension is $3. | ||
- | ===== Construction | + | == Construction == |
4 bytes: EXTENSION_START_CODE = $000001B5 | 4 bytes: EXTENSION_START_CODE = $000001B5 | ||
Line 888: | Line 903: | ||
- | ====== Copyright extension | + | ===== Copyright extension ===== |
Extensions have the ID $B5. This extension has the ID $4. | Extensions have the ID $B5. This extension has the ID $4. | ||
- | ===== Construction | + | == Construction == |
* 4 bytes: EXTENSION_START_CODE = $000001B5 | * 4 bytes: EXTENSION_START_CODE = $000001B5 | ||
Line 933: | Line 948: | ||
</ | </ | ||
- | ====== Sequence Scalable Extension | + | ===== Sequence Scalable Extension ===== |
Extensions generally have ID $B5. This extensions has got ID $5. | Extensions generally have ID $B5. This extensions has got ID $5. | ||
- | ===== Construction | + | == Construction == |
* 4 Byte: EXTENSION_START_CODE = $000001B5 | * 4 Byte: EXTENSION_START_CODE = $000001B5 | ||
Line 1004: | Line 1019: | ||
- | ====== Group of Pictures | + | ===== Group of Pictures ===== |
The ID $B8 follows the PACK_START_CODE_PREFIX for the GROUP_START_CODE. The length of the header is 4 bytes. | The ID $B8 follows the PACK_START_CODE_PREFIX for the GROUP_START_CODE. The length of the header is 4 bytes. | ||
- | ===== Construction | + | == Construction == |
* 4 bytes: GROUP_START_CODE = $000001B8 | * 4 bytes: GROUP_START_CODE = $000001B8 | ||
Line 1020: | Line 1035: | ||
* 1 bit: broken link | * 1 bit: broken link | ||
- | ==== As a scheme | + | As a scheme: |
< | < | ||
Line 1135: | Line 1150: | ||
</ | </ | ||
- | ====== Picture Display Extension | + | ===== Picture Display Extension ===== |
The extension start code with the ID $B5 is followed by four bits with the extension ID $B7. | The extension start code with the ID $B5 is followed by four bits with the extension ID $B7. | ||
- | ===== Construction | + | == Construction == |
* 4 bytes: EXTENSION_START_CODE = $000001B5 | * 4 bytes: EXTENSION_START_CODE = $000001B5 | ||
Line 1149: | Line 1164: | ||
* 1 bit: markers | * 1 bit: markers | ||
- | ==== As a scheme | + | As a scheme: |
Line 1212: | Line 1227: | ||
- | ====== Picture Coding Extension | + | ===== Picture Coding Extension ===== |
The extension start code with the ID $B5 is followed by four bits with the extension ID $B8. | The extension start code with the ID $B5 is followed by four bits with the extension ID $B8. | ||
- | ===== Construction | + | == Construction == |
4 bytes: EXTENSION_START_CODE = $000001B5 | 4 bytes: EXTENSION_START_CODE = $000001B5 | ||
Line 1260: | Line 1275: | ||
* 8 bits: sub-carrier phase | * 8 bits: sub-carrier phase | ||
- | ==== As a scheme | + | As a scheme: |
< | < | ||
Line 1371: | Line 1386: | ||
- | ====== Picture Coding Extension | + | ===== Picture Coding Extension ===== |
The extension start code with the ID $B5 is followed by four bits with the extension ID $B8. | The extension start code with the ID $B5 is followed by four bits with the extension ID $B8. | ||
- | ===== Construction | + | == Construction == |
4 bytes: EXTENSION_START_CODE = $000001B5 | 4 bytes: EXTENSION_START_CODE = $000001B5 | ||
Line 1529: | Line 1544: | ||
- | ====== Macroblock | + | ===== Macroblock ===== |
mpeg2/mpeg2_elementary_stream_structure.1652210823.txt.gz · Last modified: 2022/05/10 19:27 by emcodem