Friday 23 March 2018

PSI-SI story




For the customer, turning on the STB and watching the channel is as easy as ABC, just turn it on and switch to your favorite channel and that is it. But wait… Is it that simple? How does the STB know which channel is on that LCN and how do they display those channel name and the EPG list?

To answer all these, we have got something in the backend/headend system which is PSI-SI system.

So what is PSI-SI system? In broader terms PSI refers to Program Specific Information and SI refers to Service Information. 

PSI was standardized by MPEG system while SI was added to it by DVB.

PSI contains 4 Tables namely PAT, CAT, PMT and NIT.

PSI is carried in the form of a table structure. Each table structure is broken into sections. Each section can span multiple transport stream packets. On the other hand, a transport stream packet can also contain multiple sections with same PID.

So let us break this PAT, CAT, PMT and NIT now.

PAT: Program Association Table
This table lists all the services found in this Transport Stream. Each Transport stream contains only one PAT. Each service is identified by a PMT.
The PAT is always on PID 0.

PMT: Program Map Table
This table identifies all the Elementary Streams within a service. A service is uniquely identified by its service ID.There is one PMT per service, but there may be more than one PMT on the same PID. The PMT contains the ES like Video, audio, ECM, Teletext and so on.

NIT: Network Information Table
Although the existence of this table is specified in MPEG, its contents and use are specified by the DVB below in the SI. 

CAT: Conditional Access Table
This table controls the scrambling and authorization of a service. It associates one or more CA systems with their EMM (Entitlement Management Message) stream and any other extra data that may be required. CAT is always on PID 1.

This sums up the PSI table. Now let’s find out about SI.
SI tables contains 8 Tables and is standardized by DVB. These tables are:

NIT, SDT, BAT, EIT, TDT, TOT, ST and RST.

NIT: Network Information Table
The Network Information Table groups a number of Transport Streams together providing tuning information for the STB. If a user can view a service via two different delivery mechanisms then each mechanism will have a different Network ID. Hence NIT actual will be an essential and mandatory Table and a Transport Streams can have many NIT others.
NIT contains the delivery mechanism be it cable, satellite or terrestrial, The tuning parameters of the STB such as frequency, Symbol rate, home transport information and other private descriptor such as OTA information, telephone numbers etc. The NIT PID is 16.

BAT: Bouquet Association Table
A Bouquet is a group of services which are presented to the user as though they were on the same Transport Stream. The user may select different services within the bouquet, but be unaware that the STB is in fact re-tuning its input to pick up a new transport stream within the network or from different networks as well. The LCN for every services can be defined here.

SDT: Service Description Table
A description of a service provides a name and optionally other related information such as language codes, running status and country availability. There may be several sub tables providing information for this Transport Stream and other Transport Streams within the bouquet /network. SDT actual is a mandatory table for tuning the STB and for the TS to know the information about other TS, SDT other is defined.

EIT: Event Information Table
This forms the basis of a database upon which an Electronic Program Guide may be based.
Present/Following information allows events on a service to be classified as running, not running,paused and starts in a few seconds. Schedule information is arranged by table, sub-table, segment and section into 3 hours blocks within which the program guide information can be transmitted. In general, the EIT information may be scrambled, although different countries may provide regulations which restrict this practice.

TDT: Time and Date Table
Provides UTC (Universal Time) coded as MJD (Modified Julian Date)

TOT: Time Offset Table
Is used to provide time offsets to give local time. This is required to show the proper time in the STB display.

RST: Running Status Table
These are sent out only once to update the status of an event. It allow accurate and rapid updating of the timing status of one or more events.

ST: Stuffing Table
Used to replace or invalidate existing section of other tables at a delivery system boundary. It saves time and power as we don’t have to check all the packets.





1 comment: