DVD-Video 解谜 - 相关信息 - MPEG参考

MPEG Headers Quick Reference

This is a quick reference to the various headers and streams found in MPEG/DVD. For a complete description you should get a copy of ISO/IEC 13818.
This is an incomplete work-in-progress

The header

Every stream or table begins with a 32-bit start code, codes 00 through B8 are video stream start codes (fully defined in 13818-2), and codes B9-FF are stream-id's
byte 0 byte 1 byte 2 byte 3
0000 0000 0000 0000 0000 0001
Start code prefix
Start Code
-or- Stream ID
Start Code used for
0x00 Picture
0x01 - 0xAF slice
0xB0 reserved
0xB1 reserved
0xB2 user data
0xB3 Sequence header
0xB4 sequence error
0xB5 extension
0xB6 reserved
0xB7 sequence end
0xB8 Group of Pictures
Stream ID used for
0xB9 Program end (terminates a program stream)
0xBA Pack header
0xBB System Header
0xBC Program Stream Map
0xBD Private stream 1
0xBE Padding stream
0xBF Private stream 2
0xC0 - 0xDF MPEG-1 or MPEG-2 audio stream
0xE0 - 0xEF MPEG-1 or MPEG-2 video stream
0xF0 ECM Stream
0xF1 EMM Stream
0xF2 ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Annex A or ISO/IEC 13818-6_DSMCC_stream
0xF3 ISO/IEC_13522_stream
0xF4 ITU-T Rec. H.222.1 type A
0xF5 ITU-T Rec. H.222.1 type B
0xF6 ITU-T Rec. H.222.1 type C
0xF7 ITU-T Rec. H.222.1 type D
0xF8 ITU-T Rec. H.222.1 type E
0xF9 ancillary_stream
0xFA - 0xFE reserved
0xFF Program Stream Directory

Picture header (0100)

Variable length.
byte 4 byte 5 byte 6 byte 7
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
temporal sequence number frame type
1=I, 2=P
3=B, 4=D
VBV delay ---

additional fields appended beginning at byte 7 bit 2:
If frame type = 2 (P) or 3 (B) the following 4 bits are appended to the header:

3 2 1 0
full_pel_forward_vector forward_f_code
This field is used by MPEG-1 only, for MPEG-2 it should be set to 0 1 1 1

If frame type = 3 (B) the following 4 bits are appended to the header:

3 2 1 0
full_pel_backward_vector backward_f_code
This field is used by MPEG-1 only, for MPEG-2 it should be set to 0 1 1 1

additionally if the next bit is "1" (extra_bit_picture) it is followed by 8 bits of "extra" data (discarded by decoders). This continues until a "0" bit is encountered.

Sequence header (01B3)

Variable length.
byte 4 byte 5 byte 6 byte 7
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
horizontal size vertical size aspect ratio frame rate
byte 8 byte 9 byte 10 byte 11
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
bit rate 1 VBV buffer size constrained parameters flag load intra quantiser matrix (load non-intra quantiser matrix)
If either load quantiser matrix flag is =1, it is immediately followed by the 64 byte table (moving the "load non-intra quantiser matrix" flag, in the case of "load intra quantiser matrix")
Code MPEG-1 Aspect Ratio (PAR) MPEG-2 Aspect Ratio (DAR) Frame Rate
0 forbidden forbidden forbidden
1 1.0000 1:1 24000/1001 (23.976)
2 0.6735 4:3 24
3 0.7031 PAL 16:9 16:9 25
4 0.7615 2.21:1 30000/1001 (29.97)
5 0.8055 reserved 30
6 0.8437 NTSC 16:9 reserved 50
7 0.8935 reserved 60000/1001 (59.94)
8 0.9375 PAL 4:3 reserved 60
9 0.9815 reserved reserved
10 1.0255 reserved reserved
11 1.0695 reserved reserved
12 1.1250 NTSC 4:3 reserved reserved
13 1.1575 reserved reserved
14 1.2015 reserved reserved
15 reserved reserved reserved

extension header (01B5)

There are a variety of extensions, denoted by the first 4 bits.

Sequence_Extension

Fixed length.
byte 4 byte 5 byte 6 byte 7 byte 8 byte 9
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0001 profile and level progressive_sequence chroma_format horizontal size extension vertical size extension bit rate extension 1 vbv buffer size extension low delay frame rate extension n frame rate extension d

Sequence_Display_Extension

Variable length.
With no color description information, the last 3 bits of byte 8 are not part of this table.
byte 4 byte 5 byte 6 byte 7 byte 8
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0010 video format color description flag =0 display horizontal size 1 display vertical size  

With color description information, the last 3 bits of byte 11 are not part of this table.
byte 4 byte 5 byte 6 byte 7 byte 8 byte 9 byte 10 byte 11
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0010 video format color description flag =1 color primaries transfer characteristics matrix coefficients display horizontal size 1 display vertical size  

Picture_Display_Extension

Variable length, depending on number of offsets encoded (see section 6.3.12 of ISO/IEC 13818-2).
For a single offset (the last 2 bits of byte 8 are not part of this table).
byte 4 byte 5 byte 6 byte 7 byte 8
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0111 frame_center_horizontal_offset[1] 1 frame_center_vertical_offset[1] 1  

For two offsets.
byte 4 byte 5 byte 6 byte 7 byte 8 byte 9 byte 10 byte 11 byte 12
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0111 frame_center_horizontal_offset[1] 1 frame_center_vertical_offset[1] 1 frame_center_horizontal_offset[2] 1 frame_center_vertical_offset[2] 1

For three offsets (the maximum, the last 6 bits of byte 17 are not part of this table).
byte 4 byte 5 byte 6 byte 7 byte 8 byte 9 byte 10 byte 11 byte 12 byte 13 byte 14 byte 15 byte 16 byte 17
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
0111 frame_center_horizontal_offset[1] 1 frame_center_vertical_offset[1] 1 frame_center_horizontal_offset[2] 1 frame_center_vertical_offset[2] 1 frame_center_horizontal_offset[3] 1 frame_center_vertical_offset[3] 1  

Picture_Coding_Extension

Variable length.
byte 4 byte 5 byte 6
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
1000 f_code[0][0] (forward horizontal) f_code[0][1] (forward vertical) f_code[1][0] (backward horizontal) f_code[1][1] (backward vertical) intra_DC_precision picture_structure
byte 7
7 6 5 4 3 2 1 0
Top_Field_First frame_pred_frame_dct concealment_motion_vectors q_scale_type intra_vlc_format alternate_scan Repeat_First_Field chroma_420_type
byte 8 byte 9 byte 10
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
progressive_frame composite_display =0 0 0 0 0 0 0 (not present)
=1 v_axis field_sequence sub_carrier burst_amplitude sub_carrier_phase 0 0

Group Of Pictures (GOP) (01B8)

Fixed length, contains 3 flags and the time stamp for the first frame.
byte 4 byte 5 byte 6 byte 7
7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0 7 6 5 4 3 2 1 0
drop frame flag hour (0-23) minute (0-59) 1 second (0-59) frame (0-59) closed GOP broken GOP 0 0 0 0 0
 

你可能感兴趣的:(DVD-Video 解谜 - 相关信息 - MPEG参考)