www.tektronix.com
ISO/IEC 13818-1 transport packetSyntax No. of bits
t ranspor t_packet ( ) {sync_byte 8transpor t_error_ ind ica tor 1pay load_uni t_star t_ ind ica tor 1t ranspor t_pr ior i ty 1PID 13transpor t_scrambl ing_contro l 2adapta t ion_f ie ld_contro l 2cont inu i ty_counter 4i f (adapta t ion_f ie ld_cont ro l==’10’ | | adapta t ion_f ie ld_cont ro l==’11’ ) {
adapta t ion_f ie ld ( )}i f (adapta t ion_f ie ld_cont ro l==’01’ | | adapta t ion_f ie ld_cont ro l==’11’ ) {
fo r ( i=0; i<N; i++) {data_byte 8
}}
}
PROGRAM ASSOCIATION SECTION DIAGRAM8 bits
Table IDSectionSyntax
Indicator
TransportStream
ID
CurrentNext
Indicator
LastSectionNumber
SectionLength
VersionNumber
SectionNumber
NLoop
CRC32
‘0’
1 bit 12 bits 16 bits 5 bits 8 bits 8 bits32bits1 bit
1 bit
2 bits
2 bits
ProgramNumber
0
. . . . . .Program
MapPID_i
ProgramNumber
i
NetworkPID
16 bits 13 bits 16 bits 13 bits3
bits3
bits
TS PROGRAM MAP SECTION DIAGRAM8 bits
Table IDSectionSyntax
Indicator
CurrentNext
Indicator
LastSectionNumber
SectionLength
ProgramNumber
VersionNumber
SectionNumber
‘0’
1 bit 12 bits 16 bits 5 bits 8 bits 8 bits4
bits1 bit1
bit2
bits2
bits
StreamType
ESInfo
Length
NLoop
Descriptors
ElementaryPID
8 bits 13 bits3
bits4
bits 12 bits
NLoop
Descriptors
32 bits12 bits
CONDITIONAL ACCESS SECTION DIAGRAM8 bits
Table IDSectionSyntax
Indicator
CurrentNext
Indicator
LastSectionNumber
SectionLength
VersionNumber
SectionNumber
NLoop
Descriptors
CRC32
‘0’
1 bit 12 bits 18 bits 5 bits 8 bits 8 bits32bits1 bit
1 bit
2 bits
PCRPID
NLoop CRC_32
ProgramInfo
Length
TRANSPORT STREAM SYNTAX DIAGRAM
8 bits
Header Payload Payload Payload
TransportError
Indicator
PayloadUnit StartIndicator
TransportScrambling
Control
AdaptationField
Control
TransportPriority
SyncByte
AdaptationField
1 bit 1 bit 1 bit
188 bytes
13 bits 2 bits 4 bits2 bits
PID
TransportPacketStream
ContinuityCounter
AdaptationField
Length
RandomAccess
Indicator
ElementaryStream Priority
Indicator
DiscontinuityIndicator
StuffingBytes
8 bits 1 bit 1 bit 1 bit 5 bits
5 Flags
TransportPrivate Data
Length
TransportPrivateData
AdaptationField Extenstion
Length
42 bits 42 bits 8 bits 8 bits 8 bits 3 bits
3 FlagsPCR OPCR OptionalFields
SpliceCountdown
1 bit 15 bits 22 bits2 bits 4 bits 33 bits
DTS_next_auItw_valid
FlagItw
OffsetPiecewise
RateSpliceType
13 bits3
bits
PRIVATE SECTION DIAGRAM
TableId
SectionSyntax
Indicator
PrivateSectionLength
PrivateIndicator
8 bits 1 bit 1 bit 12 bits2
bits
SectionNumber
CRC32
TableId
Extension
CurrentNext
Indicator
LastSectionNumber
NPrivateData
VersionNumber
16 bits 5 bits 1 bit 8 bits 8 bits 32 bits2
bits
N Private Data Bytes
Allocation of table_id Values
Value Description
0x000x010x020x03
0x04 to 0x3F0x400x410x42
0x43 to 0x450x46
0x47 to 0x490x4A
0x4B to 0x4D0x4E0x4F
0x50 to 0x5F0x60 to 0x6F
0x700x710x720x73
0x74 to 0x7D0x7E0x7F
0x80 to 0xFE0xFF
program_association_sectionconditional_access_sectionprogram_map_sectiontransport_stream_description_sectionreservednetwork_information_section - actual_networknetwork_information_section - other_networkservice_description_section - actual_transport_streamreserved for future useservice_description_section - other_transport_streamreserved for future usebouquet_association_sectionreserved for future useevent_information_section - actual_transport_stream, present/followingevent_information_section - other_transport_stream, present/followingevent_information_section - actual_transport_stream, scheduleevent_information_section - other_transport_stream, scheduletime_date_sectionrunning_status_sectionstuffing_sectiontime_offset_sectionreserved for future usediscontinuity_information_sectionselection_information_sectionuser definedreserved
Abbreviations
AC-3 Dolby AC-3 audio coding (ITU-R Recommendation BS1196 [19])
BAT Bouquet Association TableBCD Binary Coded Decimalbslbf bit string, left bit firstCA Conditional AccessCAT Conditional Access TableCLUT Color Look-Up TableCRC Cyclic Redundancy CheckDAB Digital Audio BroadcastingDIT Discontinuity Information TableDVB Digital Video BroadcastingDVD Digital Versatile DiscEBU European Broadcasting UnionEIT Event Information TableEMM Entitlement Management MessageEPG Electronic ProgramGuideETS European Telecommunication StandardFEC Forward Error CorrectionIEC International Electrotechnical CommissionIRD Integrated Receiver DecoderISO International Organization for StandardizationLSB Least Significant BitMJD Modified Julian DateMPEG Moving Pictures Expert GroupNIT Network Information TableNVOD Near Video On DemandPAT Program Association TablePDC ProgramDelivery ControlPID Packet IDentifierPMT Program Map TablePSI Program Specific InformationPSTN Public Switched Telephone NetworkQAM Quadrature Amplitude ModulationQPSK Quaternary Phase Shift Keyingrpchof remainder polynomial coefficients, highest order firstRS Reed-SolomonRST Running Status TableSeF Scale FactorSDT Service Description TableSI Service InformationSIT Selection Information TableSMI Storage Media InteroperabilityST Stuffing TableTDT Time and Date TableTOT Time Offset TableTPS Transmission Parameter SignalingTS Transport Streamuimsbf unsigned integer most significant bit firstUTC Universal Time, Co-ordinatedVBI Vertical Blanking IntervalVPS Video Program SystemWSS Wide Screen Signaling
Stream Type AssignmentsValue Description
0x000x010x02
0x030x040x050x06
0x070x080x090x0A0x0B0x0C0x0D0x0E
0x0F - 0x7F0x80 - 0xFF
ITU-T | ISO/IEC reservedISO/IEC 11172-2 VideoITU-T Rec. H.262 | ISO/IEC 13818-2 Video or ISO/IEC11172-2 constrained parameter video streamISO/IEC 11172-3 AudioISO/IEC 13818-3 AudioITU-T Rec. H.222.0 | ISO/IEC 13818-1 private_sectionsITU-T Rec. H.222.0 | ISO/IEC 13818-1 PES packetscontaining private dataISO/IEC 13522 MHEGAnnex A - DSM CCITU-T Rec. H.222.1ISO/IEC 13818-6 type AISO/IEC 13818-6 type BISO/IEC 13818-6 type CISO/IEC 13818-6 type DISO/IEC 13818-1 auxiliaryITU-T Rec. H.222.0 | ISO/IEC 13818-1 reservedUser private
PID Allocation for DVB SITable PID Value
PATCATTSDTreservedNIT,STSDT, BAT, STEIT, STRST, STTDT, TOT, STnetwork synchronizationreserved for future useinband signallingmeasurementDITSIT
0x00000x00010x00020x0003 to 0x000F0x00100x00110x00120x00130x00140x00150x0016 to 0x001B0x001C0x001D0x001E0x001F
ETSI TR 101 290 -Table Timing IntervalsTable Type PID Max/Min
[1] ETSI TR 101 211, TSDT interval defined in section 4.1.9[2] ETSI TR 101 211, Additional EIT Actual/Other Schedule intervalsdefined for:-DVB Satellite/Cable in section 4.4.1-DVB Terrestrial in section 4.4.2
PATTSDTNIT actualNIT otherSDT actualSDT otherBATEIT actual present-followingEIT other present-followingTOTTDTPMT
0x 00 500 ms0x 02 10000 ms [1]0x10 10000 / 25 ms0x10 10000 / 25 ms0x11 2000 / 25 ms0x11 10000 / 25 ms0x11 10000 / 25 ms0x12 2000 / 25 ms [2]0x12 10000 / 25 ms [2]0x14 30000 / 25 ms0x14 30000 / 25 msALL 500 ms
MPEG-2 Transport StreamISO/IEC 13818-1 International Standard
Service Information (SI) in DVB SystemsETSI EN 300 468 International Standard
HeaderHeader
OptionalFields
PES PACKET SYNTAX DIAGRAM
2 bits
PESScrambling
Control
DataAlignmentIndicator
PESHeader
Data Length
StuffingBytes(0xFF)
PESPriority
Originalor Copy
OptionalFields
2 bits 1 bit 1 bit 1 bit 8 bits 8 bits m*8 bits1 bit
‘10’
DSMTrickMode
PTSDTS
ESRate
AdditionalCopy Info
33 bits33 bits 42 bits 22 bits 8 bits 7 bits 16 bits
ESCR
ESCR
PESExtension
Copyright 7 Flags
24 bits 8 bits 16 bits
PES Packet Data BytesStream
Id
PacketStart Code
Prefix
PESPacketLength
OptionalPES
HEADER
PreviousPESCRC
OptionalFields5 Flags
P-STDBuffer
PESPrivateData
PacketHeaderField
PESExtension
Field Length
PESExtensionField Data
128 bits 8 bits 8 bits 16 bits 7 bits
Program PacketSequence Counter
Selection Information Section (SIT)Syntax No. of bits
selection_information_section ( ) {table_id 8section_syntax_indicator 1DVB_reserved_future_use 1ISO_reserved 2section_length 12DVB_reserved_future_use 16ISO_reserved 2version_number 5current_next_indicator 1section_number 8last_section_number 8DVB_reserved_for_future_use 4transmission_info_loop_length 12for(i=0;i<N;i++) {
descriptor ( )}for(i=0;i<N;i++) {
service_id 16DVB_reserved_future_use 1running_status 3service_loop_length 12for(j=0;j<N;j++) {
descriptor ( )}
}CRC_32 32
}
Discontinuity Information Section(DIT)
Syntax No. of bits
discontinuity_information_section ( ) {table_id 8section_syntax_indicator 1reserved_future_use 1reserved 2section_length 12transition_flag 1reserved_future_use 7
}
Program association section (PAT)Syntax No. of bits
program_association_section( ) {table_id 8section_syntax_indicator 1‘0’ 1reserved 2section_length 12transport_stream_id 16reserved 2version_number 5current_next_indicator 1section_number 8last_section_number 8fo r ( j=0; j< N; j++) {
program_number 16reserved 3if (program_number==’0’ ) {
network_PID 13}else {
program_map_PID 13}
}CRC_32 32
}
Conditional access section (CAT)Syntax No. of bits
CA_section( ) {table_id 8section_syntax_indicator 1‘0’ 1reserved 2section_length 12reserved 18version_number 5current_next_indicator 1section_number 8last_section number 8for (i=0;i<N;i++) {
descriptor( )}CRC_32 32
}
Transport Stream Description Section(TSDT)
Syntax No. of bits
TS_Description_section( ) {table_id 8section_syntax_indicator 1‘0’ 1reserved 2section_length 12reserved 18version_number 5current_next_indicator 1section_number 8last_section number 8for (i=0;i<N;i++) {
descriptor( )}CRC_32 32
}
Transport Stream program map section (PMT)
Syntax No. of bits
TS_program_map_section( ) {table_id 8section_syntax_indicator 1‘0’ 1reserved 2section_length 12program_number 16reserved 2version_number 5current_next_indicator 1section_number 8last_section number 8reserved 3PCR_PID 13reserved 4program_info_length 12for (i=0;i<N;i++) {
descriptor( )}for (i=0;i<N1;i++) {
stream_type 8reserved 3elementary_PID 13reserved 4ES_info_length 12for (j=0;j<N2;j++) {
descriptor( )}
}CRC_32 32
}
Network Information section (NIT)Syntax No. of bits
network_information_section( ) {table_id 8section_syntax_indicator 1reserved_future_use 1reserved 2section_length 12network_id 16reserved 2version_number 5current_next_indicator 1section_number 8last_section number 8reserved_future_use 4network_descriptors_length 12for(i=0;i<N;i++){
descriptor( )}reserved_future_use 4transport_stream_loop_length 12for(i=0;i<N;i++){
transport_stream_id 16original_network_id 16reserved_future_use 4transport_descriptors_length 12for(j=0;j<N;j++){
descriptor()}
}CRC_32 32
}
Service description section (SDT)Syntax No. of bits
service_description_section( ){table_id 8section_syntax_indicator 1reserved_future_use 1reserved 2section_length 12transport_stream_id 16reserved 2version_number 5current_next_indicator 1section_number 8last_section_number 8original_network_id 16reserved_future_use 8 for(i=0;i<N;i++) {
service_id 16reserved_future_use 6EIT_schedule_flag 1EIT_present_following_flag 1running_status 3free_CA_mode 1descriptors_loop_length 12for(j=0;j<N;j++){
descriptor( )}
}CRC_32 32
}
Bouquet association section (BAT)Syntax No. of bits
bouquet_association_section(){table_id 8section_syntax_indicator 1reserved_future_use 1reserved 2section_length 12bouquet_id 16reserved 2version_number 5current_next_indicator 1section_number 8last_section number 8reserved_future_use 4bouquet_descriptors_length 12 for(i=0;i<N;i++){
descriptor( )}reserved_future_use 4transport_stream_loop_length 12for(i=0;i<N;i++){
transport_stream_id 16original_network_id 16reserved_future_use 4transport_descriptors_length 12for(j=0;j<N;j++) {
descriptor ( )}
}CRC_32 32
}
Event Information Section (EIT)Syntax No. of bits
event_information_section( ) {table_id 8section_syntax_indicator 1reserved_future_use 1reserved 2section_length 12service_id 16reserved 2version_number 5current_next_indicator 1section_number 8last_section_number 8transport_stream_id 16original_network_id 16segment_last_section_number 8last_table_id 8 for(i=0;i<N;i++) {
event_id 16start_time 40duration 24running_status 3free_CA_mode 1descriptors_loop_length 12for (j=0;j<N;j++) {
descriptor ( )}
}CRC_32 32
}
Running status section (RST)Syntax No. of bits
running_status_section ( ) {table_id 8section_syntax_indicator 1reserved_future_use 1reserved 2section_length 12for(i=0;i<N;i++){
transport_stream_id 16original_network_id 16service_id 16event_id 16reserved_future_use 5running_status 3
}}
Time offset section (TOT)Syntax No. of bits
time_offset_section ( ) {table_id 8section_syntax_indicator 1reserved_future_use 1reserved 2section_length 12UTC_time 40reserved 4descriptors_loop_length 12for(i=0;i<N;i++){
descriptor ( )}CRC_32 32
}
Stuffing section (ST)Syntax No. of bits
stuffing_section ( ) {table_id 8section_syntax_indicator 1reserved_future_use 1reserved 2section_length 12for(i=0;i<N;i++){
data_byte 8}
}
Time and date section (TDT)Syntax No. of bits
time_date_section ( ){table_id 8section_syntax_indicator 1reserved_future_use 1reserved 2section_length 12UTC_time 40
}
PAT NIT NIT
BAT
SDTSDT
EIT
TDT
RST
TOT
ST
EIT EIT
MPEG-2 DVB DVB
NetworkInformation
BouquetAssociation
ServiceDescription
EventInformation
RunningStatus
TimeOffset
Stuffing
(Defined)PID=0x0000
(Mandatory)PID=0x0010
(Optional)PID=0x0010
PID=0x0001
PID=0x0011
PID=0x0012
PID=0x0014
PID=0x0013
PID=0x0014
PID=0x0010 to 0x0014
PID=0x0012 PID=0x0012
PID=0x0011
PID=0x0011
Actual transportstream
Other transportstream
Actual transportstream
Time & Date
Other transportstream
Actual transportstream
present/following
Actual transportstreamschedule
Other transportstream
present/following
schedule
PID=0x10 to 0x1FFE
PID=0x0002
CAT
PMT
TSDT
Private SectionSyntax No. of bits
private_section ( ) {table_id 8section_syntax_indicator 1private_indicator 1reserved 2private_section_length 12if(section_syntax_indicator== ‘0’) {
for(i=0; i<N; i++) {private_data_byte 8
}}else {
table_id_extension 16reserved 2version_number 5current_next_indicator 1section_number 8last_section_number 8for(i=0;i<private_section_length-9;i++) {
private_data_byte 8
}CRC_32 32
}}
Photo courtesy of NASA/JPL/Caltech