Information Technology Reference
In-Depth Information
Figure 6.5: Transport stream packets are always 188 bytes long to facilitate multiplexing and error correction.
Transport stream packets always begin with a header. The remainder of the packet carries data known as the
payload. For efficiency, the normal header is relatively small, but for special purposes the header may be extended.
In this case the payload gets smaller so that the overall size of the packet is unchanged.
The header begins with a sync byte which is an unique pattern detected by a demultiplexer. A transport stream
may contain many different elementary streams and these are identified by giving each an unique 13-bit Packet
Identification Code or PID which is included in the header. A multiplexer seeking a particular elementary stream
simply checks the PID of every packet and accepts those which match, rejecting the rest.
In a multiplex there may be many packets from other programs in between packets of a given PID. To help the
demultiplexer, the packet header contains a continuity count. This is a four-bit value which increments at each new
packet having a given PID.
This approach allows statistical multiplexing as it does not matter how many or how few packets have a given PID;
the demux will still find them. Statistical multiplexing has the problem that it is virtually impossible to make the sum
of the input bit rates constant. Instead the multiplexer aims to make the average data bit rate slightly less than the
maximum and the overall bit rate is kept constant by adding stuffing or null packets. These packets have no
meaning, but simply keep the bit rate constant. Null packets always have a PID of 8191 (all ones) and the
demultiplexer discards them.
[ 1 ] Watkinson, J.R., The Art of Digital Video , second edition, Ch. 6, Oxford: Focal Press (1994)
6.4 Clock references
A transport stream is a multiplex of several TV programs and these may have originated from widely different
locations. It is impractical to expect all the programs in a transport stream to be synchronous and so the stream is
designed from the outset to allow asynchronous programs. A decoder running from a transport stream has to
genlock to the encoder and the transport stream has to have a mechanism to allow this to be done independently
for each program. The synchronizing mechanism is called Program Clock Reference (PCR).
In program streams all the programs must be synchronous so that only one clock is required at the decoder. In this
case the synchronizing mechanism is called System Clock Reference (SCR).
 
Search WWH ::




Custom Search