Underneath special situations, the PCR may additionally include an unavoidable discontinuity, which can be resulting from a switchover from one encoder to any other within the transmitter at some stage in program emission. A PCR discontinuity of this kind should be marked inside the program by using the discontinuity indicator inside the adaptation field.
Semantic definition of fields in adaptation field:
? Adaptation_field_length: The adaptation field length is an 8-bit field define the range of bytes within the adaptation field straight away following the adaptation field length.
? Discontinuity_indicator: That is a 1 bit field which while set to ‘1’ shows that the discontinuity state is proper for the present transport stream packet. While the discontinuity_indicator is about to ‘zero’ so the discontinuity state is false.
? Random_access_indicator: The random_access_indicator is a 1 bit field that shows that the present transport stream packet, and probably next transport stream packets with the identical PID, include a few data to aid random get entry to at this factor.
? PCR_flag: The PCR_flag is a 1 bit flag. A value of ‘1’ suggests that the adaptation_field includes a PCR field coded in elements. A value of ‘0’ suggests that the adaptation field does no longer include any PCR field.
? OPCR_flag : The OPCR_flag is a 1 bit flag. A value of ‘1’ suggests that the adaptation_field includes an OPCR field coded in 2 elements. A value of ‘zero’ suggests that the adaptation field does no longer include any OPCR fields.
? Program_clock_reference_base & Program_clock_reference_extension:
The program clock reference (PCR) is a forty two bit field coded in element. The primary element, program clock reference base, is a 33 bit area whose value is given with the aid of PCR base. The second one part, program clock reference extension, is a 9 bit field whose value is given through PCR ext. The PCR shows the supposed time of arrival of the byte containing the final little bit of the program clock reference base on the input of the device goal decoder.
? Original_Program_Clock_Reference: The optionally available original program reference (OPCR) is a forty two-bit field coded in two components. These two elements, the base and the extension, are coded equally to the two corresponding parts of the PCR field.
PMT (PROGRAM MAP TABLE): This system Map table gives the mappings among program numbers and the program factors that contain them. A single instance of this kind of mapping is known as a “program definition” like audio, video etc. Each and every program is related to a set of PIDs which correlate to a Program Map table (PMT).
Some useful syntax and number of bits mnemonic in the program map section or program map table (PMT) are shown in table number 6. The PCR PID i.e., Program Clock Reference packet identification is available in program map table and the program map table is available in program specific information i.e., PSI and the PSI is available in Program association table(PAT). So, we can say that it is a hierarchy tree of transport stream.
Semantic definition of fields in Transport Stream program map section:
? Table_id: That is an eight bit area, which inside the case of a TS program map section shall be usually set to 0x02.
? Section_syntax_indicator: The section_syntax_indicator is a 1 bit field which will be set to ‘1’.
? Section_length: This is a 12 bit area, the first two bits of which will be ’00’. The closing 10 bits define the wide variety of bytes of the segment beginning straight away following the section_length field, and consisting of the CRC.
? Program_number: Program_number is a 16 bit field. It define the program to which the program_map_PID is relevant. One program definition will be bring inside only one TS_program_map_section.
? Current_next_indicator: A 1 bit field, which while set to ‘1’ shows that the TS_program_map_section despatched is presently relevant. While the bit is ready to ‘zero’, it shows that the TS_program_map_section despatched isn’t yet relevant and shall be the following TS_program_map_section to end up valid.
? PCR_PID: That is a thirteen bit field suggests the PID of the transport stream packets which shall include the PCR fields valid for the program particular by program_number. If no PCR is related to a program definition for private streams then this field shall take the value of 0x1FFF.
? Program_info_length: That is a 12 bit field, the primary bits of which will be ’00’. The last 10 bits shows the quantity of bytes of the descriptors at once following the program_info_length field.
? Stream_type: That is an 8 bit field indicates the kind of program element bring inside the packets with the PID whose value is particular by means of the elementary_PID.
PES (Packetized Elementary Stream): The PES packet header starts with a 32-bit begin-code that still identifies the stream to which the packet information belongs. The PES packet header may additionally include only a Presentation Time Stamp (PTS) or each a presentation timestamp and a decoding Time Stamp (DTS). The PES packet header additionally consists of different elective fields. The packet information includes a variable wide variety of contiguous bytes from one elementary stream.
Calculation of PCR: The PCR fields are fetch inside the adaptation field of the transport stream packets with a PID value same to the PCR_PID described within the TS program map section of the program being decoded. Realistic decoders may additionally reconstruct this clock from those values and their respective arrival instances. The minimal constraints which observe to the program’s system clock frequency as represented through the values of the PCR fields when they are acquired by using a decoder. The value of the system clock frequency is measured in Hz and shall meet the subsequent constraints:
27 000 000 – 810 ? system_clock_frequency ? 27 000 000 + 810
rate of change of system_clock_frequency with time ? 75 ? 10-3 Hz/s
The PCR value is calculated using formula:
PCR I = PCR_base I * 300 + PCR_extension I