Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
132 views1 page

2AW 14974 4-Poster

The document describes the syntax and structure of MPEG-2 transport streams used in digital video broadcasting. It defines sections for service information, program maps, events, and network information that are identified by packet identifiers. Stream packets contain headers with flags and timestamps to identify components and synchronize decoding.

Uploaded by

jsrt234956
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
132 views1 page

2AW 14974 4-Poster

The document describes the syntax and structure of MPEG-2 transport streams used in digital video broadcasting. It defines sections for service information, program maps, events, and network information that are identified by packet identifiers. Stream packets contain headers with flags and timestamps to identify components and synchronize decoding.

Uploaded by

jsrt234956
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 1

MPEG-2 Transport Stream

Service Information (SI) in DVB Systems

ISO/IEC 13818-1 International Standard

ETSI EN 300 468 International Standard

ISO/IEC 13818-1 transport packet

Discontinuity Information Section


(DI T)

P E S PACKET SYNTAX DIAGRAM

Syntax

No. of bits

transport_packet ( ) {
sync_byte
transport_error_indica tor
payload_unit_start_indica tor
transport_priority
PID
transport_scrambling_control
ada pta tion_field_control
continuity_counter
if(adaptation_field_control==10 || adaptation_field_control==11 ) {
adaptation_field ( )
}
if(adaptation_field_control==01 || adaptation_field_control==11 ) {
for ( i=0;i<N;i++) {
da ta_byte
}
}
}

8
1
1
1
13
2
2
4

24 bits

8 bits

16 bits

Packet
Start Code
Prefix

Stream
Id

PES
Packet
Length

PES Packet Data Bytes

2 bits

2 bits

1 bit

1 bit

1 bit

1 bit

8 bits

8 bits

10

PES
Scrambling
Control

PES
Priority

Data
Alignment
Indicator

Copyright

Original
or Copy

7 Flags

PES
Header
Data Length

33 bits
33 bits

PTS
DTS

Syntax

42 bits

22 bits

8 bits

ES
Rate

DSM
Trick
Mode

ESCR

7 bits

16 bits

Additional
Copy Info

Previous
PES
CRC

m * 8 bits

Optional
Fields

Stuffing
Bytes
(0xFF)

PES
Extension

Optional
Fields

5ESCR
Flags

TRANSPORT STREAM SYNTAX DIAGRAM


188 bytes

Transport
Packet
Stream

Header

Header

Payload

Payload

Payload

Header

8 bits

1 bit

1 bit

1 bit

13 bits

2 bits

2 bits

4 bits

Sync
Byte

Transport
Error
Indicator

Payload
Unit Start
Indicator

Transport
Priority

PID

Transport
Scrambling
Control

Adaptation
Field
Control

Continuity
Counter

128 bits

8 bits

8 bits

16 bits

7 bits

PES
Private
Data

Packet
Header
Field

Program Packet
Sequence Counter

P-STD
Buffer

PES
Extension
Field Length

No. of bits

network_information_section( ){
table_id
section_syntax_indicator
reserved_future_use
reserved
section_length
network_id
reserved
version_number
current_next_indicator
section_number
last_section number
reserved_future_use
network_descriptors_length
for(i=0;i<N;i++){
descriptor()
}
reserved_future_use
transport_stream_loop_length
for(i=0;i<N;i++){
transport_stream_id
original_network_id
reserved_future_use
transport_descriptors_length
for(j=0;j<N;j++){
descriptor()
}
}
CRC_32
}

Bouquet association section (BAT)

Service description section (SDT)

Network Information section (NIT)

Optional
PES
HEADER

Syntax

service_description_section( ){
table_id
section_syntax_indicator
reserved_future_use
reserved
section_length
transport_stream_id
reserved
version_number
current_next_indicator
section_number
last_section_number
original_network_id
reserved_future_use
for(i=0;i<N;i++) {
service_id
reserved_future_use
EIT_schedule_flag
EIT_present_following_flag
running_status
free_CA_mode
descriptors_loop_length
for(j=0;j<N;j++){
descriptor( )
}
}
CRC_32
}

8
1
1
2
12
16
2
5
1
8
8
4
12

4
12
16
16
4
12

Syntax

No. of bits

bouquet_association_section(){
table_id
section_syntax_indicator
reserved_future_use
reserved
section_length
bouquet_id
reserved
version_number
current_next_indicator
section_number
last_section number
reserved_future_use
bouquet_descriptors_length
for(i=0;i<N;i++){
descriptor( )
}
reserved_future_use
transport_stream_loop_length
for(i=0;i<N;i++){
transport_stream_id
original_network_id
reserved_future_use
transport_descriptors_length
for(j=0;j<N;j++) {
descriptor ( )
}
}
CRC_32
}

8
1
1
2
12
16
2
5
1
8
8
16
8
16
6
1
1
3
1
12

32

32

8 bits

1 bit

1 bit

1 bit

Discontinuity
Indicator

Random
Access
Indicator

Elementary
Stream Priority
Indicator

42 bits

42 bits

8 bits

8 bits

PCR

OPCR

Splice
Countdown

Transport
Private Data
Length

Transport
Private
Data

Stuffing
Bytes

Optional
Fields

8 bits

3 bits

Adaptation
Field Extenstion
Length

3 Flags

Optional
Fields

Conditional access section (CAT)


Syntax

1 bit

15 bits

Itw_valid
Flag

Itw
Offset

2 bits

22 bits

4 bits

33 bits

Piecewise
Rate

Splice
Type

DTS_next_au

PROGRAM ASSOCIATION SECTION DIAGRAM


8 bits

Table ID

1 bit

Section
Syntax
Indicator

1
2
bit bits

12 bits

16 bits

Section
Length

Transport
Stream
ID

2
bits

5 bits

1 bit

8 bits

8 bits

Version
Number

Current
Next
Indicator

Section
Number

Last
Section
Number

3
bits

16 bits

Program
Number
0

13 bits

16 bits

Network
PID

Program
Number
i

...

3
bits

32
bits

N
Loop

CRC
32

Table ID

2
1
bit bits

Section
Syntax
Indicator

18 bits

12 bits

5 bits

32
bits

N
Loop
Descriptors

Last
Section
Number

CRC
32

TS PROGRAM MAP SECTION DIAGRAM


8 bits

1 bit

Table ID

Section
Syntax
Indicator

1
2
bit bits

12 bits

16 bits

Section
Length

Program
Number

2
bits

3
bits

5 bits

1 bit

8 bits

8 bits

Version
Number

Current
Next
Indicator

Section
Number

Last
Section
Number

12 bits

N
Loop

3
bits

Stream
Type

4
bits

8 bits

1 bit

1 bit

Table
Id

Section
Syntax
Indicator

Private
Indicator

13 bits

4
bits

Syntax
N
Loop
Descriptors

12 bits

Private
Section
Length

N Private Data Bytes

16 bits

Table
Id
Extension

2
bits

5 bits

1 bit

8 bits

8 bits

Version
Number

Current
Next
Indicator

Section
Number

Last
Section
Number

Syntax

Actual transport
stream

Other transport
stream

PID=0x0011

}
CRC_32

CRC
32

Bouquet
Association

BAT

32

PID=0x0011

PID=0x0011

SDT

SDT

Actual transport
stream

Other transport
stream

PID=0x0012

PID=0x0012

Service
Description

32

EIT

EIT

Actual transport
stream
present/following

Actual transport
stream
schedule

Other transport
stream
present/following

Event
Information

PID=0x0013

Running
Status

Transport Stream program map section (PMT)

32

No. of bits

32

Syntax
No. of bits
TS_program_map_section( ) {
table_id
8
section_syntax_indicator
1
0
1
reserved
2
section_length
12
program_number
16
reserved
2
version_number
5
current_next_indicator
1
section_number
8
last_section number
8
reserved
3
PCR_PID
13
reserved
4
program_info_length
12
for (i=0;i< N;i++) {
descriptor( )
}
for (i=0;i<N1;i++) {
stream_type
8
reserved
3
elementary_PID
13
reserved
4
ES_info_length
12
for (j=0;j<N2;j++) {
descriptor( )
}
}
CRC_32
32
}

PID=0x10 to 0x1FFE

PID=0x0014

8
1
1
2
12
16
2
5
1
8
8
16
16
8
8

32

Syntax

No. of bits
8
1
1
2
12

PMT

TDT

TOT

Time & Date

PID=0x0010 to 0x0014

ST

Stuffing

PID

Max/Min

PAT
TSDT
NIT actual
NIT other
SDT actual
SDT other
BAT
EIT actual present-following
EIT other present-following
TOT
TDT
PMT

0x 00
0x 02
0x10
0x10
0x11
0x11
0x11
0x12
0x12
0x14
0x14
ALL

500 ms
10000 ms [1]
10000 / 25 ms
10000 / 25 ms
2000 / 25 ms
10000 / 25 ms
10000 / 25 ms
2000 / 25 ms [2]
10000 / 25 ms [2]
30000 / 25 ms
30000 / 25 ms
500 ms

Description

0x00
0x01
0x02
0x03
0x04
0x05
0x06

No. of bits

time_offset_section ( ) {
table_id
section_syntax_indicator
reserved_future_use
reserved
section_length
UTC_time
reserved
descriptors_loop_length
for(i=0;i<N;i++){
descriptor ( )
}
CRC_32
}

32

Table Type

Value

Time offset section (TOT)

Time
Offset

16
1
3
12

Stream Type Assignments

16
16
16
16
5
3

PID=0x0014
Syntax

8
1
1
2
12
40
4
12

0x07
0x08
0x09
0x0A
0x0B
0x0C
0x0D
0x0E
0x0F - 0x7F
0x80 - 0xFF

32

ITU-T | ISO/IEC reserved


ISO/IEC 11172-2 Video
ITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC
11172-2 constrained parameter video stream
ISO/IEC 11172-3 Audio
ISO/IEC 13818-3 Audio
ITU-T Rec. H.222.0 | ISO/IEC 13818-1 private_sections
ITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packets
containing private data
ISO/IEC 13522 MHEG
Annex A - DSM CC
ITU-T Rec. H.222.1
ISO/IEC 13818-6 type A
ISO/IEC 13818-6 type B
ISO/IEC 13818-6 type C
ISO/IEC 13818-6 type D
ISO/IEC 13818-1 auxiliary
ITU-T Rec. H.222.0 | ISO/IEC 13818-1 reserved
User private

Allocation of table_id Values


Value

Time and date section (TDT)


Syntax

No. of bits

time_date_section ( ){
table_id
section_syntax_indicator
reserved_future_use
reserved
section_length
UTC_time
}

8
1
1
2
12
40

Stuffing section (ST)


Syntax

No. of bits

stuffing_section ( ) {
table_id
section_syntax_indicator
reserved_future_use
reserved
section_length
for(i=0;i<N;i++){
data_byte
}
}

8
1
1
2
12
8

PID Allocation for DVB SI


Table

PID Value

PAT
CAT
TSDT
reserved
NIT,ST
SDT, BAT, ST
EIT, ST
RST, ST
TDT, TOT, ST
network synchronization
reserved for future use
inband signalling
measurement
DIT
SIT

0x0000
0x0001
0x0002
0x0003 to 0x000F
0x0010
0x0011
0x0012
0x0013
0x0014
0x0015
0x0016 to 0x001B
0x001C
0x001D
0x001E
0x001F

Photo courtesy of NASA/JPL/Caltech

[1] ETSI TR 101 211, TSDT interval defined in section 4.1.9


[2] ETSI TR 101 211, Additional EIT Actual/Other Schedule intervals
defined for:
-DVB Satellite/Cable in section 4.4.1
-DVB Terrestrial in section 4.4.2

Running status section (RST)


running_status_section ( ) {
table_id
section_syntax_indicator
reserved_future_use
reserved
section_length
for(i=0;i<N;i++){
transport_stream_id
original_network_id
service_id
event_id
reserved_future_use
running_status
}
}

8
1
1
2
12
16
2
5
1
8
8
4
12

ETSI TR 101 290 -Table Timing Intervals

16
40
24
3
1
12

PID=0x0012

EIT

No. of bits

selection_information_section ( ) {
table_id
section_syntax_indicator
DVB_reserved_future_use
ISO_reserved
section_length
DVB_reserved_future_use
ISO_reserved
version_number
current_next_indicator
section_number
last_section_number
DVB_reserved_for_future_use
transmission_info_loop_length
for(i=0;i<N;i++) {
descriptor ( )
}
for(i=0;i<N;i++) {
service_id
DVB_reserved_future_use
running_status
service_loop_length
for(j=0;j<N;j++) {
descriptor ( )
}
}
CRC_32
}

16
16
4
12

No. of bits

event_information_section( ) {
table_id
section_syntax_indicator
reserved_future_use
reserved
section_length
service_id
reserved
version_number
current_next_indicator
section_number
last_section_number
transport_stream_id
original_network_id
segment_last_section_number
last_table_id
for(i=0;i<N;i++) {
event_id
start_time
duration
running_status
free_CA_mode
descriptors_loop_length
for (j=0;j<N;j++) {
descriptor ( )
}
}
CRC_32
}

Network
Information

RST

8
1
1
2
12
18
5
1
8
8

private_section ( ) {
table_id
8
section_syntax_indicator
1
private_indicator
1
reserved
2
private_section_length
12
if(section_syntax_indicator== 0) {
for(i=0; i<N; i++) {
private_data_byte
8
}
}
else {
table_id_extension
16
reserved
2
version_number
5
current_next_indicator
1
section_number
8
last_section_number
8
for(i=0;i<private_section_length-9;i++) {
private_data_byte
8

www.tektronix.com

NIT

TSDT

32 bits

N
Private
Data

NIT

schedule

PCR
PID

PRIVATE SECTION DIAGRAM


2
bits

PAT

Syntax

13

No. of bits

TS_Description_section( ) {
table_id
section_syntax_indicator
0
reserved
section_length
reserved
version_number
current_next_indicator
section_number
last_section number
for (i=0;i< N;i++) {
descriptor( )
}
CRC_32
}

12 bits

ES
Info
Length

Elementary
PID

(Optional)
PID=0x0010

CAT

CRC_32

13 bits

(Mandatory)
PID=0x0010

13

32

Private Section
8 bits

(Defined)
PID=0x0000

PID=0x0001

32 bits

N
Loop
Descriptors

Program
Info
Length

DVB

16
3

Transport Stream Description Section


(TSDT)

...

8 bits

Section
Number

DVB

PID=0x0002

Program
Map
PID_i

8 bits

Current
Next
Indicator

Version
Number

Section
Length

1 bit

8
1
1
2
12
18
5
1
8
8

8
1
1
2
12
16
2
5
1
8
8

MPEG-2

8
1
1
2
12
1
7

Selection Information Section (SI T)


4
12

Event Information Section (EIT)

No. of bits

13 bits

CONDITIONAL ACCESS SECTION DIAGRAM


1 bit

No. of bits

CA_section( ) {
table_id
section_syntax_indicator
0
reserved
section_length
reserved
version_number
current_next_indicator
section_number
last_section number
for (i=0;i< N;i++) {
descriptor( )
}
CRC_32
}

Syntax

8 bits

program_association_section( ) {
table_id
section_syntax_indicator
0
reserved
section_length
transport_stream_id
reserved
version_number
current_next_indicator
section_number
last_section_number
for (j=0;j< N;j++) {
program_number
reserved
if (program_number==0 ) {
network_PID
}
else {
program_map_PID
}
}
CRC_32
}

5 bits

5 Flags

8
1
1
2
12
16
2
5
1
8
8
4
12

Adaptation
Field

Syntax

No. of bits

discontinuity_information_section ( ) {
table_id
section_syntax_indicator
reserved_future_use
reserved
section_length
transition_flag
reserved_future_use
}

PES
Extension
Field Data

Program association section (PAT)

Adaptation
Field
Length

Syntax

No. of bits

0x00
0x01
0x02
0x03
0x04 to 0x3F
0x40
0x41
0x42
0x43 to 0x45
0x46
0x47 to 0x49
0x4A
0x4B to 0x4D
0x4E
0x4F
0x50 to 0x5F
0x60 to 0x6F
0x70
0x71
0x72
0x73
0x74 to 0x7D
0x7E
0x7F
0x80 to 0xFE
0xFF

Description

program_association_section
conditional_access_section
program_map_section
transport_stream_description_section
reserved
network_information_section - actual_network
network_information_section - other_network
service_description_section - actual_transport_stream
reserved for future use
service_description_section - other_transport_stream
reserved for future use
bouquet_association_section
reserved for future use
event_information_section - actual_transport_stream, present/following
event_information_section - other_transport_stream, present/following
event_information_section - actual_transport_stream, schedule
event_information_section - other_transport_stream, schedule
time_date_section
running_status_section
stuffing_section
time_offset_section
reserved for future use
discontinuity_information_section
selection_information_section
user defined
reserved

Abbreviations
AC-3
BAT
BCD
bslbf
CA
CAT
CLUT
CRC
DAB
DIT
DVB
DVD
EBU
EIT
EMM
EPG
ETS
FEC
IEC
IRD
ISO
LSB
MJD
MPEG
NIT
NVOD
PAT
PDC
PID
PMT
PSI
PSTN
QAM
QPSK
rpchof
RS
RST
SeF
SDT
SI
SIT
SMI
ST
TDT
TOT
TPS
TS
uimsbf
UTC
VBI
VPS
WSS

Dolby AC-3 audio coding


(ITU-R Recommendation BS1196 [19])
Bouquet Association Table
Binary Coded Decimal
bit string, left bit first
Conditional Access
Conditional Access Table
Color Look-Up Table
Cyclic Redundancy Check
Digital Audio Broadcasting
Discontinuity Information Table
Digital Video Broadcasting
Digital Versatile Disc
European Broadcasting Union
Event Information Table
Entitlement Management Message
Electronic ProgramGuide
European Telecommunication Standard
Forward Error Correction
International Electrotechnical Commission
Integrated Receiver Decoder
International Organization for Standardization
Least Significant Bit
Modified Julian Date
Moving Pictures Expert Group
Network Information Table
Near Video On Demand
Program Association Table
ProgramDelivery Control
Packet IDentifier
Program Map Table
Program Specific Information
Public Switched Telephone Network
Quadrature Amplitude Modulation
Quaternary Phase Shift Keying
remainder polynomial coefficients, highest order first
Reed-Solomon
Running Status Table
Scale Factor
Service Description Table
Service Information
Selection Information Table
Storage Media Interoperability
Stuffing Table
Time and Date Table
Time Offset Table
Transmission Parameter Signaling
Transport Stream
unsigned integer most significant bit first
Universal Time, Co-ordinated
Vertical Blanking Interval
Video Program System
Wide Screen Signaling

You might also like