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