close
PCR - Program Clock Reference
Synchronization of the receiver System Time Clock (STC) with the transmitter STC depends on transmitting PCRs through a constant-delay portion of the system. Thus, PCRs are inserted following the encoder buffer and extracted before the receiver buffer. PCRs are inserted with a maximum interval of 100ms.
Synchronization can be adversely affected by transmission over links having a variable delay or time jitter, and the accuracy of clock recovery must be studied if such an application is contemplated.
PCRs are also affected by the multiplexing of multiple program streams. In this case, there is additional buffering in the multiplexer, and it may become necessary to re-stamp the PCR values of data that is transmitted earlier or later than expected. Although the MPEG standards provide the means to maintain synchronization in this case, they do not specify the jitter limits, suggesting only that it is "intended" to be +/-4 ms maximum in a well-designed system.
STC - System Time Clock
The System Time Clock (STC) uses a 27 MHz oscillator with a worst case tolerance of +/- 810 Hz. [Note that this is a looser tolerance than that of the NTSC color subcarrier. The ATSC standard therefore contains a tighter constraint on the transmitted data rate so that it may be used if desired to regenerate the NTSC color carrier in equipment intended to feed an NTSC receiver. As discussed in the section Timing Model , the data and STC frequencies are independent.] There is a means provided to signal to the receiver the actual accuracy of the system time clock if it is better than the minimum allowed.
The STC first divides the the 27MHz by 300, giving a 90kHz clock that is counted by a 33 bit counter to give the base STC value. The remainder is taken as a 9-bit value that may be used as an STC extension.
SCR - System Clock Reference
System Clock Reference (SCR) is a time stamp in the program stream, as opposed to the Program Clock Reference (PCR), which appears in the transport stream. In most common cases, the SCR values and PCR values function identically; however, the maximum allowed interval between SCRs is 700ms, while the maximum between PCRs is 100ms.
PTS - Presentation Time Stamp
The Presentation Time Stamp (PTS) indicates the instant at which an access unit should be removed from the receiver buffer, instantaneously decoded, and presented for display. Any delay in a practical decoding or display process can be compensated for if it is fixed. Therefore, if a practical decoder has a variable delay, it must include buffering to restore a constant delay at the output. Note that the display itself may include a delay, for example, the time for the vertical scanning of a CRT to reach the middle of the picture.
PTS (or DTS) is entered in the bitstream at intervals not exceeding 700 mS. ATSC further constrains PTS (or DTS) to be inserted at the beginning of each access unit.
DTS - Decode Time Stamp
The Decode Time Stamp (DTS) indicates the time at which an access unit should be instantaneously removed from the receiver buffer and decoded. It differs from the Presentation Time Stamp (PTS) only when picture reordering is used for B pictures. If DTS is used, PTS must also be provided in the bit stream.
PTS (or DTS) is entered in the bitstream at intervals not exceeding 700 mS. ATSC further constrains PTS (or DTS) to be inserted at the beginning of each access unit.
Multiplexed Programs
An MPEG data stream may multiplex streams from several sources, each having a slight difference in clock rate from the others. In general, it will not be possible to synchronize all these sources to the transport multiplexer.
In order to multiplex several incoming MPEG streams into one, the individual streams must have some null packets that can be removed if necessary to adjust the over-all multiplex data rate. The null packet removal, as well as the interleaving of packets from different sources, violates the assumption of a constant-delay transmission channel, and introduces jitter into the packet timing.
The MPEG time-stamping process provides sufficient information to carry synchronization through such a multiplexer to a decoder, but the MPEG standard does not specifically provide methods to take care of packet jitter effects. In general, the resulting packet jitter may exceed the MPEG tolerance, and then methods must be developed to correct this in order to feed a standard decoder. Some commercial equipment avoids this problem by physically co-locating all encoders that feed a given multiplex (for example a satellite transponder), and driving them all from a common clock and time reference.
VBV - Video Buffering Verifier
The Video Buffer Verifier (VBV) is a model hypothetical decoder buffer that will not overflow or underflow when fed a conforming MPEG bit stream. Thus, part of the definition of a compliant stream is that it does not cause underflow or overflow of this model buffer. The quantities that MPEG transmits to specify decoder buffer action according to this model are explained fully below. However, decoders do not have to use these quantities, but instead can rely on redundant information provided by time stamps. A thorough explanation is in the section on Buffer Synchronization and Startup .
Operation of the VBV is tied to two transmitted values, vbv_buffer_size_value, the maximum buffer fullness, and vbv_delay, the delay between storing a picture start code in the buffer and starting the decoding of that picture. vbv_buffer_size is transmitted in every sequence header. vbv_delay is transmitted in every picture header. Note that the sequence header and vbv_buffer_size may not be available when tuning to a program in progress. However, proper operation of the decoder buffer can be obtained by use of the System Time Clock and various time stamps and an a priori knowledge of the maximum buffer size that may be required, so that vbv_delay and vbv_buffer size are redundant.
In the ATSC standard A/53 Annex A, the constraint on buffer size is:
maximum video buffer = B = 7995392 bits,
which is specified by transmitting:
vbv_buffer_size_value <= 488 (lower 10 bits of vbv_buffer_size) vbv_buffer_size_extension = 0 (upper 8 bits of vbv_buffer_size) where B = 16*1024*vbv_buffer_size. The ATSC constraint on vbv_delay is vbv_delay <= 45000 vbv_delay is a 16 bit unsigned integer representing the number of 90kHz clock periods between entering a picture's start code into the buffer and removing and decoding the entire picture. Buffer Synchronization and Startup
Buffer synchronization and startup can be handled by means of time stamps plus an a priori constraint on the maximum buffer size, rather than explicit use of the VBV values.
In the system timing model diagram, the encoder buffer and decoder buffer represent the only delay elements of the timing model. Since the encoder is instantaneous, and inserts access units at a constant rate, while the decoder similarly extracts access units at a constant rate, the sum of encoder buffer delay and decoder buffer delay is a constant. Note that the total delay is constant even if the encoder buffer output does not have a constant bit rate, because the transmission medium is modeled as an instantaneous transfer from the encoder buffer to the decoder buffer. The constant total delay and instantaneous transfer across the transmission medium also means that the decoder buffer fullness is the mirror image of the encoder buffer fullness.
In general, the encoder buffer output is not at a constant bit rate, and if a constant rate is needed by a transmission medium, it is achieved in the transport layer by insertion of null packets or opportunistic data.
First we will study the case of constant bit rate transmission, and then comment on the variable bit rate case.
Subtopics are:
Constant Bit Rate Operation
Variable Bit Rate Operation
Startup
Low Delay Mode
MPEG provides for a low delay mode by setting certain parameters. For low delay, the total buffer delay must be minimized. The low delay mode is signalled with a flag, low_delay, in the sequence header.
B pictures are not used in this mode. In addition, dual-prime prediction may be used in P pictures to improve their quality for the available bit rate. Use of intra coded slices instead of complete intra coded pictures also reduces the required buffer occupancy and delay.
Low delay mode also explicitly allows the encoder to use occasionally a larger access unit for a picture, and skip some succeeding pictures. The picture using the large number of bits is called a large picture, and is repeated at the receiver display to replace the skipped pictures. For use by the VBV model, this is indicated by a discontinuity in the value of temporal_reference for the next picture. This value need not be noted by a decoder whose buffer management is based on time stamps, which can infer the required repetitions and/or explicitly read the required information from the values of repeat_first_field and top_field_first.
Synchronization of the receiver System Time Clock (STC) with the transmitter STC depends on transmitting PCRs through a constant-delay portion of the system. Thus, PCRs are inserted following the encoder buffer and extracted before the receiver buffer. PCRs are inserted with a maximum interval of 100ms.
Synchronization can be adversely affected by transmission over links having a variable delay or time jitter, and the accuracy of clock recovery must be studied if such an application is contemplated.
PCRs are also affected by the multiplexing of multiple program streams. In this case, there is additional buffering in the multiplexer, and it may become necessary to re-stamp the PCR values of data that is transmitted earlier or later than expected. Although the MPEG standards provide the means to maintain synchronization in this case, they do not specify the jitter limits, suggesting only that it is "intended" to be +/-4 ms maximum in a well-designed system.
STC - System Time Clock
The System Time Clock (STC) uses a 27 MHz oscillator with a worst case tolerance of +/- 810 Hz. [Note that this is a looser tolerance than that of the NTSC color subcarrier. The ATSC standard therefore contains a tighter constraint on the transmitted data rate so that it may be used if desired to regenerate the NTSC color carrier in equipment intended to feed an NTSC receiver. As discussed in the section Timing Model , the data and STC frequencies are independent.] There is a means provided to signal to the receiver the actual accuracy of the system time clock if it is better than the minimum allowed.
The STC first divides the the 27MHz by 300, giving a 90kHz clock that is counted by a 33 bit counter to give the base STC value. The remainder is taken as a 9-bit value that may be used as an STC extension.
SCR - System Clock Reference
System Clock Reference (SCR) is a time stamp in the program stream, as opposed to the Program Clock Reference (PCR), which appears in the transport stream. In most common cases, the SCR values and PCR values function identically; however, the maximum allowed interval between SCRs is 700ms, while the maximum between PCRs is 100ms.
PTS - Presentation Time Stamp
The Presentation Time Stamp (PTS) indicates the instant at which an access unit should be removed from the receiver buffer, instantaneously decoded, and presented for display. Any delay in a practical decoding or display process can be compensated for if it is fixed. Therefore, if a practical decoder has a variable delay, it must include buffering to restore a constant delay at the output. Note that the display itself may include a delay, for example, the time for the vertical scanning of a CRT to reach the middle of the picture.
PTS (or DTS) is entered in the bitstream at intervals not exceeding 700 mS. ATSC further constrains PTS (or DTS) to be inserted at the beginning of each access unit.
DTS - Decode Time Stamp
The Decode Time Stamp (DTS) indicates the time at which an access unit should be instantaneously removed from the receiver buffer and decoded. It differs from the Presentation Time Stamp (PTS) only when picture reordering is used for B pictures. If DTS is used, PTS must also be provided in the bit stream.
PTS (or DTS) is entered in the bitstream at intervals not exceeding 700 mS. ATSC further constrains PTS (or DTS) to be inserted at the beginning of each access unit.
Multiplexed Programs
An MPEG data stream may multiplex streams from several sources, each having a slight difference in clock rate from the others. In general, it will not be possible to synchronize all these sources to the transport multiplexer.
In order to multiplex several incoming MPEG streams into one, the individual streams must have some null packets that can be removed if necessary to adjust the over-all multiplex data rate. The null packet removal, as well as the interleaving of packets from different sources, violates the assumption of a constant-delay transmission channel, and introduces jitter into the packet timing.
The MPEG time-stamping process provides sufficient information to carry synchronization through such a multiplexer to a decoder, but the MPEG standard does not specifically provide methods to take care of packet jitter effects. In general, the resulting packet jitter may exceed the MPEG tolerance, and then methods must be developed to correct this in order to feed a standard decoder. Some commercial equipment avoids this problem by physically co-locating all encoders that feed a given multiplex (for example a satellite transponder), and driving them all from a common clock and time reference.
VBV - Video Buffering Verifier
The Video Buffer Verifier (VBV) is a model hypothetical decoder buffer that will not overflow or underflow when fed a conforming MPEG bit stream. Thus, part of the definition of a compliant stream is that it does not cause underflow or overflow of this model buffer. The quantities that MPEG transmits to specify decoder buffer action according to this model are explained fully below. However, decoders do not have to use these quantities, but instead can rely on redundant information provided by time stamps. A thorough explanation is in the section on Buffer Synchronization and Startup .
Operation of the VBV is tied to two transmitted values, vbv_buffer_size_value, the maximum buffer fullness, and vbv_delay, the delay between storing a picture start code in the buffer and starting the decoding of that picture. vbv_buffer_size is transmitted in every sequence header. vbv_delay is transmitted in every picture header. Note that the sequence header and vbv_buffer_size may not be available when tuning to a program in progress. However, proper operation of the decoder buffer can be obtained by use of the System Time Clock and various time stamps and an a priori knowledge of the maximum buffer size that may be required, so that vbv_delay and vbv_buffer size are redundant.
In the ATSC standard A/53 Annex A, the constraint on buffer size is:
maximum video buffer = B = 7995392 bits,
which is specified by transmitting:
vbv_buffer_size_value <= 488 (lower 10 bits of vbv_buffer_size) vbv_buffer_size_extension = 0 (upper 8 bits of vbv_buffer_size) where B = 16*1024*vbv_buffer_size. The ATSC constraint on vbv_delay is vbv_delay <= 45000 vbv_delay is a 16 bit unsigned integer representing the number of 90kHz clock periods between entering a picture's start code into the buffer and removing and decoding the entire picture. Buffer Synchronization and Startup
Buffer synchronization and startup can be handled by means of time stamps plus an a priori constraint on the maximum buffer size, rather than explicit use of the VBV values.
In the system timing model diagram, the encoder buffer and decoder buffer represent the only delay elements of the timing model. Since the encoder is instantaneous, and inserts access units at a constant rate, while the decoder similarly extracts access units at a constant rate, the sum of encoder buffer delay and decoder buffer delay is a constant. Note that the total delay is constant even if the encoder buffer output does not have a constant bit rate, because the transmission medium is modeled as an instantaneous transfer from the encoder buffer to the decoder buffer. The constant total delay and instantaneous transfer across the transmission medium also means that the decoder buffer fullness is the mirror image of the encoder buffer fullness.
In general, the encoder buffer output is not at a constant bit rate, and if a constant rate is needed by a transmission medium, it is achieved in the transport layer by insertion of null packets or opportunistic data.
First we will study the case of constant bit rate transmission, and then comment on the variable bit rate case.
Subtopics are:
Constant Bit Rate Operation
Variable Bit Rate Operation
Startup
Low Delay Mode
MPEG provides for a low delay mode by setting certain parameters. For low delay, the total buffer delay must be minimized. The low delay mode is signalled with a flag, low_delay, in the sequence header.
B pictures are not used in this mode. In addition, dual-prime prediction may be used in P pictures to improve their quality for the available bit rate. Use of intra coded slices instead of complete intra coded pictures also reduces the required buffer occupancy and delay.
Low delay mode also explicitly allows the encoder to use occasionally a larger access unit for a picture, and skip some succeeding pictures. The picture using the large number of bits is called a large picture, and is repeated at the receiver display to replace the skipped pictures. For use by the VBV model, this is indicated by a discontinuity in the value of temporal_reference for the next picture. This value need not be noted by a decoder whose buffer management is based on time stamps, which can infer the required repetitions and/or explicitly read the required information from the values of repeat_first_field and top_field_first.
全站熱搜
留言列表