While the tables we have seen so far give us plenty of information about the services that are available, we’ve seen no way to get information about events that are broadcast on those services. The Event Information Table (EIT) lets us get this information for terrestrial and cable systems.
Unlike DVB systems, an EIT in ATSC covers a limited time span . The approach taken by the EIT splits each day in to eight periods, each of three hours. Information for each period is broadcast as a separate EIT. Since more than one EIT can be broadcast at any time, they are usually referred to as EIT-0 (the EIT for the current three-hour period) to EIT-N (the EIT covering the period Nx3 hours from now). It’s possible to transmit up to 128 EIT tables for any virtual channel, but it’s very rare that so many are transmitted – terrestrial systems have to transmit EITs covering at least the current time slot and the next three time slots. Only analog TV signals, or digital TV or audio services (in other words, services that have distinct events or shows) will have an EIT – data-only services don’t need one.
Each EIT has the same format. Each entry in the table contains a 14-bit event ID which, in conjunction with the 16-bit source ID for the virtual channel, uniquely identifies that event. The entry also contains a start time and duration for that event, as well as a string giving the title. A longer description of the event can also be given – this is contained in a separate table called the ETT (which we shall see a little later), and while the EIT entry for an event does not give a specific reference to that description, it does contain a flag to say that the information is present. This allows the receiver to decide whether is should look for that information or not.
Events that are shown in a time slot that covers more than one EIT will be listed in every EIT that covers the time that event is shown. If this happens, the event must have the same event ID in every EIT.
A typical EIT section looks like this:
Syntax | No. of bits | Format |
---|---|---|
event_information_table_section () { | ||
table_id | 8 | 0xCB |
section_syntax_indicator | 1 | ‘1’ |
private_indicator | 1 | ‘1’ |
reserved | 2 | ’11’ |
section_length | 12 | uimsbf |
source_id | 16 | uimsbf |
reserved | 2 | ’11’ |
version_number | 5 | uimsbf |
current_next_indicator | 1 | ‘1’ |
section_number | 8 | uimsbf |
last_section_number | 8 | uimsbf |
protocol_version | 8 | uimsbf |
num_events_in_section | 8 | uimsbf |
for (i = 0; i < num_events_in_section; i++) { | ||
reserved | 2 | ’11’ |
event_id | 14 | uimsbf |
start_time | 32 | uimsbf |
reserved | 2 | ’11’ |
ETM_location | 2 | uimsbf |
length_in_seconds | 20 | uimsbf |
title_length | 8 | uimsbf |
title_text() | var | |
reserved | 4 | ‘1111’ |
descriptors_length | 12 | |
for (j = 0; j < N; j++) { | ||
descriptor() | ||
} | ||
} | ||
CRC _32 | 32 | rpchof |
} |
Event information in a satellite network
For a satellite network, it can be inefficient to transmit a separate EIT for every channel because of the number of transport streams that may be used and the number of ways they may be modulated. Satellite networks combine several EITs into an Aggregate Event Information Table (AEIT) in order to improve efficiency, and these AEITs have the following structure:
Syntax | No. of bits | Format |
---|---|---|
aggregate_event_information_table_section () { | ||
table_id | 8 | 0xD6 |
section_syntax_indicator | 1 | ‘1’ |
private_indicator | 1 | ‘1’ |
reserved | 2 | ’11’ |
section_length | 12 | uimsbf |
AEIT_subtype | 8 | uimsbf |
MGT_tag | 8 | uimsbf |
reserved | 2 | ’11’ |
version_number | 5 | uimsbf |
current_next_indicator | 1 | ‘1’ |
section_number | 8 | uimsbf |
last_section_number | 8 | uimsbf |
if (AEIT_subtype == 0) { | ||
num_sources_in_section | 8 | uimsbf |
for (i = 0; i < num_sources_in_section; i++) { | ||
source_id | 16 | uimsbf |
num_events | 8 | uimsbf |
for (j = 0; j < num_events; j++) { | ||
off_air | 1 | bslbf |
reserved | 1 | ‘1’ |
event_id | 14 | uimsbf |
start_time | 32 | uimsbf |
reserved | 4 | ‘1111’ |
duration | 20 | uimsbf |
title_length | 8 | uimsbf |
title_text() | var | |
reserved | 4 | ‘1111’ |
descriptors_length | 12 | |
for (i = 0; i < N; i++) { | ||
descriptor() | ||
} | ||
} | ||
} | ||
} | ||
else | ||
reserved | n*8 | |
CRC_32 | 32 | rpchof |
} |
As you can see, this is fairly similar to the basic cable and terrestrial EIT. The main difference is that for an AEIT, the loop describing the events is contained within an additional loop that defines the source those events are associated with. The other difference is that AEITs other than the one for the current time slot (AEIT-0) don’t need to contain information about events that started in an earlier time slot.
Complete event information may be split across several MPEG-2 sections due to the size limitation that applies to each section. Each EIT or AEIT may be up to 256 sections long.
Event descriptions
For every kind of network, events are described in roughly the same way since every receiver needs to know basically the same things about the events on the network. There are a few differences between cable, satellite and terrestrial systems, mainly relating to differences in the way that the signals are carried. For a satellite network the event description does not include a pointer to the extended event description. This description is still present, but there is less need to tell the receiver where it is. We’ll take a look at why this is the case in the next section, where we look at exteded text descriptions in a bit more detail.
For cable and terrestrial systems, the ETM_location
field indicates whether an extended description of that event is available. This field can take
the following values:
ETM_location value |
Description |
---|---|
0x00 | No extended description is available |
0x01 | Extended description available in the transport stream carrying the EIT |
0x02 | Extended description available in the transport stream carrying the event |
As with the extended descriptions for VCT entries, these descriptions take the form of multi-lingual strings, allowing the receive to display extended descriptions in several languages.