ArticleslgStudy

computer science

Program-specific information

Program-specific information is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Program-specific information rather than just read about it. In short: Program-specific information (PSI) is metadata about a program (channel) and part of an MPEG transport stream. The PSI data as defined by ISO/IEC 13818-1 (MPEG-2 Part 1: Systems) includes four tables: PAT (Program Association Table) CAT (Conditional Access Table) PMT (Program Mapping Table) NIT (Network Information Table) The MPEG-2 specification does not specify the format of the CAT and NIT.

Key takeaways

  • Program-specific information belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Program-specific information to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Program-specific information from memory before moving on to harder problems.

Reference excerpt

Program-specific information (PSI) is metadata about a program (channel) and part of an MPEG transport stream. The PSI data as defined by ISO/IEC 13818-1 (MPEG-2 Part 1: Systems) includes four tables:

PAT (Program Association Table) CAT (Conditional Access Table) PMT (Program Mapping Table) NIT (Network Information Table) The MPEG-2 specification does not specify the format of the CAT and NIT. PSI is carried in the form of a table structure. Each table structure is broken into sections, although some tables like a PMT cannot have more than one section. Each section can span multiple transport stream packets. On the other hand, although this is uncommon, a transport stream packet or set of packets under the same PID can contain multiple sections belonging to different tables. Adaptation field also occurs in TS packets carrying PSI data. The PSI data will never be scrambled so that the decoder at the receiving end can easily identify the properties of the stream. The sections comprising the PAT and CAT tables are associated with predefined PIDs (Packet Identifier) and table IDs as explained in their respective descriptions below. There may be multiple independent PMTs in a stream, one for each program. Each PMT is given a unique user-defined PID and maps a program number to the metadata describing that program and the streams within it. PMT PIDs are defined in the PAT, and are the only PIDs defined there. The streams themselves are contained in PES packets with user-defined PIDs specified in the PMT.

PSI structure

Table Sections

Descriptor

PAT (Program Association Table) The program association table (PAT) lists all programs available in the transport stream. Each of the listed programs is identified by a 16-bit value called program_number. Each of the programs listed in PAT has an associated value of PID for its PMT. The value 0x0000 for program_number is reserved to specify the PID where to look for network information table. If such a program is not present in PAT the default PID value (0x0010) shall be used for NIT. TS packets containing PAT information always have PID 0x0000.

The PAT is assigned PID 0x0000 and table id of 0x00. The transport stream contains at least one or more TS packets with PID 0x0000. Some of these consecutive packets form the PAT. At the decoder side the PSI section filter listens to the incoming TS packets. After the filter identifies the PAT table they assemble the packet and decode it. A PAT has information about all the programs contained in the TS. The PAT contains information showing the association of Program Map Table PID and Program Number. The PAT should end with a 32-bit CRC

PMT (Program map specific data) PMTs contain information about programs. For each program, there is one PMT. While the MPEG-2 standard permits more than one PMT section to be transmitted on a single PID (Single Transport stream PID contains PMT information of more than one program), most MPEG-2 "users" such as ATSC and SCTE require each PMT to be transmitted on a separate PID that is not used for any other packets. The PMTs provide information on each program present in the transport stream, including the program_number, and list the elementary streams that comprise the described MPEG-2 program. There are also locations for optional descriptors that describe the entire MPEG-2 program, as well as an optional descriptor for each elementary stream. Each elementary stream is labeled with a stream_type value.

This table contains PID numbers of elementary streams associated with the program and it has information about the type of these elementary streams (video, audio, etc.). In addition it may also contain an ECM (entitlement control messages) stream for any other stream that is encrypted. These messages provide the information used in the cipher key selection stage.

CAT (Conditional access specific data) Table ID value is 0x01. This table is used for conditional access management of the cypher keys used for decryption of restricted streams. This table contains privately defined descriptors of the system used and the associated EMM PID. It is used by a network provider to maintain regular key updates.

NIT (Network information specific data) This optional table may group transport stream identifiers into a network, providing access parameters and other details. ITU-T Rec. H.222 and ISO/IEC 13818-1 do not define the NIT structure. The European Broadcasting Union DVB specification ETSI EN 300 468 (DVB-SI) does. The purpose of mentioning but not defining this table in H.222 is that it has reserved program number 0 (zero) in the PAT. The Table ID extension is used to identify the local network together with a directory listing of transport streams. Descriptors are used to list the modulation, source of those streams and programs. The original network identifier is meant to allow transport streams and programs on foreign networks to be included in the local network which allows no remapping of transport and program IDs that may be duplicated between networks. The DVB specification defines the transport packet identifier as 16 and the table identifier of the local network of transports as 64. A table identifier of 65 is for a foreign network of transports. The network identifiers are maintained via DVB Services who have separated the identifiers into two unique, yet unnecessary groupings of Network_ID and Original_Network_ID. The two groupings have a large number of overlapping entries.

PSI labels

Table Identifiers Each table in a transport stream is identified by an 8-bit table identifier.

SCTE Specific tables: 0xCO table id is used by Programme Information Message 0xC1 table id is used by Programme Name Message It is not necessary that pid of PMT pointed by PAT will contain a table with table id 0x02 Ignoring table id while reading PMT could have bad consequence

Program and Elementary Stream Descriptor Tags Each descriptor in a transport stream table is identified by an 8-bit descriptor tag.

Elementary stream types Each elementary stream in a transport stream is identified by an 8-bit elementary stream type assignment.

References

External links Tektronix poster

Worked examples

Example 1 — a first encounter with Program-specific information

Start with the simplest possible case. Write down what Program-specific information claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Program-specific information before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Program-specific information ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Program-specific information

In research
Program-specific information appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Program-specific information in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Program-specific information is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer programming, MPEG, Video codecs, so understanding it makes those chapters shorter.
In everyday life
Look for Program-specific information outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Program-specific information” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Program-specific information in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Program-specific information means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Program-specific information out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Program-specific information in simple terms?

Program-specific information (PSI) is metadata about a program (channel) and part of an MPEG transport stream. The PSI data as defined by ISO/IEC 13818-1 (MPEG-2 Part 1: Systems) includes four tables: PAT (Program Association Table) CAT (Conditional Access Table) PMT (Program Mapping Table) NIT (Ne…

Why does Program-specific information matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Program-specific information?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Program-specific information.

Tags

  • Computer programming
  • MPEG
  • Video codecs

Keep exploring