If a transport stream simply contained a set of audio, video and data streams, it would be extremely difficult for a receiver to do anything useful with them: we would have no indication of what type of data is in these streams or how to reconstruct these streams into something that a receiver can present to the user. To solve this problem, MPEG, DVB and OCAP all specify that other information should be added to the transport stream. This data is encoded in a number of elementary streams that are added to the transport stream during the multiplexing process, and is known as service information.
So what does this service information look like? Basically, it’s a fairly simple database that describes the structure of the transport stream. We will examine this in more detail later, but at the simplest level it contains a number of tables that describe the services in the transport stream, and tell the receiver how those services are constructed and what they contain.
ATSC service information is based on the program-specific information (PSI) that is included in every MPEG-2 transport stream. Like DVB, ATSC extends this to make it useful for digital TV applications. In the US, the way that signals are broadcast is slightly different from the way that it’s broadcast in countries that use the DVB system, and so ATSC made some different choices in the format of this data. This means that the format of ATSC service information isn’t compatible with DVB service information, although it contains much the same information, and someone who understands DVB service information should be able to understand ATSC service information pretty easily. Service information in ATSC systems is known as PSIP – the Program and System Information Protocol.
While we will take a detailed look at some aspects of PSIP in this tutorial, we won’t cover the entire ATSC PSIP specification. Instead, we’ll focus on specific aspects that are important to the topics we’re covering on this site. We will cover the major elements of PSIP that you will find in terrestrial, cable or satellite systems, but be aware that some systems may deviate from the ATSC standards. In particular, systems outside the US and Canada may not follow these standards exactly (Taiwan, for instance, has its own extension to the PSIP standard).
One of the major changes that will be obvious to those of you familiar with DVB service information is that much fewer tables are used. ATSC service information is carried in a small number of tables, with several tables being carried on the same PID. This is important in those systems that use POD (Point of Deployment) CA modules, also known as CableCARD modules. The POD system requires all streams to be transmitted to the POD so that it can manipulate the data, and only a limited number of streams can be sent to a given POD module concurrently. The result of this is that service information must be more efficient in the way it uses PIDs. In order to do this, tables are combined and some tables that are specific to a service in DVB SI become shared across the entire network in ATSC PSIP.
The result of this for a PSIP implementation is that the complexity of the internal processing may be a little higher. In order to be more efficient, an implementation may choose to use a different internal representation for the PSIP data to that which is broadcast. Event information is an excellent example of this: ATSC event information for satellite systems is broadcast in tables that may describe the entire network, but some implementations may find it more efficient to internally split this table into a number of smaller tables, each covering a single channel.
A word about naming.
MPEG, DVB and ATSC all use different names for the same things. In particular, each standard uses a different name for what viewers would call a TV channel. In MPEG this is called a program, while DVB calls it a service and ATSC calls it a virtual channel. For the purposes of this discussion, these terms can be taken to mean the same thing.
Further Reading
If what you see here isn’t detailed enough for you, some more information about service information in ATSC systems can be found at: