Home | Kontakt | Sitemap

Start

Über mich

Kontakt

Sitemap

Lizenz

Anleitungen

DVD, miniDVD

SVCD

Audio, Audio-CD (CD-DA)

AVI

Software

Von Freunden und Bekannten

Eigene Programme

Programmierung

Delphi

Lazarus

Delphi/Lazarus

Projekte

MPEG-1/2 Video

Optische Laufwerke

Audio-CD (CDDA)

Raspberry Pi Dashcam

Verschiedenes

MPEG 2 Schnitt

Project X

VCD Easy

Hardlinks

Windows

Links

Software

Projekte | MPEG - MPEG-2 Elementar Stream Video - Picture Coding Extension

Picture Coding Extension

Dem Extension Start Code mit der ID $B5 folgen vier Bit mit der Extension ID $B8.

Aufbau

Als Schema

 76543210
0EXTENSION_START_CODE
 
$000001B5
1
2
3
4Start Code Identifier = $8f_code[0][0]
5f_code[0][1]f_code[1][0]
6f_code[1][1]Intra DC Prec.Picture Structure
7TFFFPF
DCT
CMVQ Scale TypeIntra VLC FormatAlternate ScanRepeat First FieldChroma 420 Type
8Progressive FrameComposite Display?V AxisField SequenceSub CarrierBurst Amplitude
9noch BASub Carrier Phase
10noch SCP 

Erläuterungen

f_code[s][t]
Die Werte werden zum Decodieren der Motion Vectors benutzt. Der Wert 0 ist verboten, zulässig sind 1 bis 9 und 15.

Intra DC Precision
Genauigkeit, mit welcher bei der Diskreten Cosinustransformation gearbeitet wird. Davon wird der Intra DC Mult(iplikator) abgeleitet.

WertGenauigkeitMultiplikator
008 Bit8
019 Bit4
1010 Bit2
1111 Bit1

Picture Struktur

WertPicture Struktur
00Reserviert
01Top Field - oberes Halbbild
10Bottom Field - unteres Halbbild
11Frame Picture - Vollbild

Wenn ein Frame in Halbbildern encodet wurde, muss immer ein Paar mit gleichem Picture Coding Type vorliegen.

Top Field First
Dieses Flag ist von Picture Structure, Progressive Sequence und Repeat First Field abhängig.
Bei nicht gesetzten Flag Progressive Sequence dient es beim Decoding der Rekonstruktion des Frames und gibt an, ob das First Field (oberes Halbbild) zuerst ausgegeben wird.
Bei gesetzten Flag Progressive Sequence, gibt es in Verbindung mit dem Flag Repeat First Field an, wie oft ein Frame beim Decoding ausgegeben wird. Dies bedeutet, bei Repeat First Field = 0 und Top Field First = 0 wird ein progressives Frame, bei Repeat First Field = 1 und Top Field First = 0 werden zwei identische progressive Frames und bei Repeat First Field = 1 und Top Field First = 1 drei identische progressive Frames ausgegeben.

Frame Pred Frame DCT
Wenn dieses Flag gesetzt ist, wird nur Frame DCT und Frame Prediction genutzt. Bei Field Picture (Halbbildern) ist es 0, bei progressiven Frames 1.

Concealment Motion Vectors
Dieses Flag gibt an, ob die Intra Macroblocks mit Motion Vectors encoded wurden.

Q Scale Type
Diesses Flag wird für den Quantiser Scale Factor verwendet.

Intra VLC Format
Dieses Flag wird für die Bestimmung der DCT Koeffizienten verwendet.

Alternate Scan
Dieses Flag wird für die Bestimmung der DCT Koeffizienten verwendet.

Repeat First Field
Wenn die Flags progressisve_sequence (siehe Sequence Extension Header) und progressive_frame nicht gesetzt sind, ist das Flag repeat_first_field ebenfalls nicht gesetzt. Beim Decoden wird dann das Frame aus zwei Feldern zusammengesetzt. Ist das Flag progressive_sequence nicht aber das Flag progressive_frame gesetzt, wird das Frame aus zwei Feldern zusammengesetzt. Das erste Feld (Top Field oder Bottom Field) wird durch das Flag top_field_first identifiziert und wird von dem anderen gefolgt. Ist dann das Flag repeat_first_field gesetzt, wird das Frame aus drei Fields zusammengesetzt. Das erste Field wird durch das Flag top_field_first bestimmt und von dem anderen gefolgt. Anschließend wird das erste Field wiederholt. Ist das Flag progressive_sequence gesetzt und das Flag repeat_first_field nicht, wird das Frame aus einem Frame decodiert.

Chroma 420 Type
Ist genauso gesetzt wie Progressive Frame. Existiert aus historischen Gründen.

Progressive Frame
Ist das Flag nicht gesetzt, bedeutet dies, dass die beiden Fields eines Frame zwei interlaced Fields sind. Repeat First Field muss 0 sein (two field duration). Ist das Flag gesetzt, bedeutet dies, dass die beiden Fields zu einem verschmolzen sind. Picture Structure muss auf "Frame" und Frame Pred Frame DCT auf 1 gesetzt sein.

Composite Display Flag
Dieses Flag ist gesetzt, wenn die Picture, aus denen das MPEG encodet wurde, als (analoges) Composite Video encodet waren. Die Informationen beziehen sich auf die Exstension folgenden Picture. Handelt es sich um ein Frame Picture, beziehen sich die Informationen auf das First Field. Die Informationen werden für das Second Field angepasst, da diese nicht gespeichert werden können. Die folgenden Elemente werden für das Decoding nicht genutzt. Das Repeat First Field Flag und das Composite Display Flag dürfen nicht gleichzeitig gesetzt sein.

V Axis
1-bit integer used only when the bitstream represents a signal that had previously been encoded according to PAL systems. v_axis is set to 1 on a positive sign, v_axis is set to 0 otherwise.

Field Sequence
Gibt die Nummer des Feldes einer acht Field Sequence bei einem PAL System oder einer fünf Field Sequence bei einem NTSC System entsprechend nachfolgender Tabelle an:

Field SequenceFrameField
00011
00112
01023
01124
10035
10136
11047
11148

Sub Carrier
Ist das Flag nicht gesetzt ist das sub-carrier/line frequency relationship korrekt.

Burst Amplitude
gibt die Burstamplitude für PAL und NTSC an.

Sub Carrier Phase
Gibt die Phase des Referenz Sub Carrier der Fieldsynchronisation an.

Sub Carrier PhasePhase
0([360° / 256] * 0)
1([360° / 256] * 1)
......
255([360° / 256] * 255)

Testprogramm

Mit dem folgenden kleinen Testprogramm kann man einen MPEG-2 Video Elementar Stream scannen und die Picture Coding Extension anzeigen lassen.

Die Extra Informations Bit wird nicht ausgewertet.

MPEG2 Elementar Test 10 (165 kb) - MD5
Stand: 13. Oktober 2008

Picture Display Extension > Picture Coding Extension > Slice Header