본문 바로가기

IT/BroadCast

mpeg header 구조

[출처] http://dvd.sourceforge.net/dvdinfo/mpeghdrs.html

[참고] http://andrewduncan.net/mpeg/mpeg-2.html

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 0byte 1byte 2byte 3
0000 0000 0000 0000 0000 0001
Start code prefix
Stream ID
Start codeused for
0x00Picture
0x01 - 0xAFslice
0xB0reserved
0xB1reserved
0xB2user data
0xB3Sequence header
0xB4sequence error
0xB5extension
0xB6reserved
0xB7sequence end
0xB8Group of Pictures
Stream IDused for
0xB9Program end (terminates a program stream)
0xBAPack header
0xBBSystem Header
0xBCProgram Stream Map
0xBDPrivate stream 1
0xBEPadding stream
0xBFPrivate stream 2
0xC0 - 0xDFMPEG-1 or MPEG-2 audio stream
0xE0 - 0xEFMPEG-1 or MPEG-2 video stream
0xF0ECM Stream
0xF1EMM Stream
0xF2ITU-T Rec. H.222.0 | ISO/IEC 13818-1 Annex A or ISO/IEC 13818-6_DSMCC_stream
0xF3ISO/IEC_13522_stream
0xF4ITU-T Rec. H.222.1 type A
0xF5ITU-T Rec. H.222.1 type B
0xF6ITU-T Rec. H.222.1 type C
0xF7ITU-T Rec. H.222.1 type D
0xF8ITU-T Rec. H.222.1 type E
0xF9ancillary_stream
0xFA - 0xFEreserved
0xFFProgram Stream Directory

Picture header (0100)

Variable length.

byte 4byte 5byte 6byte 7
76543210765432107654321076543210
temperal sequence numberframe 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:

3210
full_pel_forward_vectorforward_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:

3210
full_pel_backward_vectorbackward_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 4byte 5byte 6byte 7
76543210765432107654321076543210
horizontal sizevertical sizeaspect ratioframe rate
byte 8byte 9byte 10byte 11
76543210765432107654321076543210
bit rate1VBV buffer sizeconstrained parameters flagload 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")

CodeAspect RatioFrame Rate
0forbiddenforbidden
11:124000/1001 (23.976)
24:324
316:925
42.21:1(not used in DVD)30000/1001 (29.97)
5reserved30
6reserved50
7reserved60000/1001 (59.94)
8reserved60
9reservedreserved
:
15reservedreserved

extension header (01B5)

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

Sequence_Extension

Fixed length.

byte 4byte 5byte 6byte 7byte 8byte 9
765432107654321076543210765432107654321076543210
0001profile and levelprogressive_sequencechroma_formathorizontal size extensionvertical size extensionbit rate extension1vbv buffer size extensionlow delayframe rate extension nframe rate extension d

Sequence_Display_Extension

Variable length.

byte 4byte 5byte 6byte 7
76543210765432107654321076543210
0010video formatcolor description flag =0
(not present)
=1color primariestransfer characteristicsmatrix coefficients
byte 5
byte 8
byte 6
byte 9
byte 7
byte 10
byte 8
byte 11
76543210765432107654321076543210
display horizontal size1display vertical size0 0 0

Picture_Coding_Extension

Variable length.

byte 4byte 5byte 6
765432107654321076543210
1000f_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_precisionpicture_structure
byte 7
76543210
Top_Field_Firstframe_pred_frame_dctconcealment_motion_vectorsq_scale_typeintra_vlc_formatalternate_scanRepeat_First_Fieldchroma_420_type
byte 8byte 9byte 10
765432107654321076543210
progressive_framecomposite_display =00 0 0 0 0 0
(not present)
=1v_axisfield_sequencesub_carrierburst_amplitudesub_carrier_phase0 0

Group Of Pictures (GOP) (01B8)

Fixed length, contains 3 flags and the time stamp for the first frame.

byte 4byte 5byte 6byte 7
76543210765432107654321076543210
drop frame flaghour (0-23)minute (0-59)1second (0-59)frame (0-59)closed GOPbroken GOP0 0 0 0 0

DVD-Video home

'IT > BroadCast' 카테고리의 다른 글

화면 해상도  (0) 2014.12.10
화면 해상도  (0) 2012.04.25
mpeg stream type  (0) 2011.11.07
[News] DCAS  (0) 2009.05.29