EPG
EPG gives the information to the user about the events of a services present in DVB. The EPG data is sent through EIT (Event Information Table). The information such as, Program name, Start Date, Start Time, Duration, Short and Detailed description are possible with this EIT data.
The information comes under EIT are classified into three categories, they are

  • Current/Next Information
  • Event Schedule
  • Extended Info

Current/Next Info
This gives the short description about the currently running event of a particular service and also the next event which is expected to run after the current event. Current/Next event will have the following information,

  • Event name
  • Start Date and Start Time
  • Duration of the event
  • Short description about the event

Event Schedule
This gives the short description and schedule of all the events of a service for a day or few days or it may also be weekly schedule. Events coming under schedule table will also have the following information,

  • Event name
  • Start Date and Start Time,
  • Duration of the event
  • Short description about the event

Extended Event Description
This gives the detailed description of a particular event. The detailed description will have the following,

  • Extended Event Text
  • Item Text
  • Item Description Text

Table Info
EPG Information is sent through EIT (Event Information Table). Size of this EIT is 4KB.

EventsTable IDDescriptor Name Descriptor Tag
Current/Next Events0x4E (Actual TS)
0x4F (Other TS)
Short event descriptor0x4D
Schedule Events0x50 0x5F (Actual TS)
0x60 0x6F (Other TS)
Short event descriptor0x4D
Extended Events0x4E, 0x50 0x5F(Actual TS)
0x4F, 0x60 0x6F (Other TS)
Extended event descriptor0x4E

EIT Schedule
The EIT/Schedule is distributed over 16 table_ids, being 0x50 - 0x5F for the actual TS, and 0x60 - 0x6F for other TS.

The 256 sections under each sub-table are divided into 32 segments of 8 sections each. Segment #0, thus, comprises sections 0 to 7, segment #1 section 8 to 15 etc.

Each segment contains information about events that start anywhere within a three-hour period. That is one segment will have 3 hrs event schedules. Therefore one sub-table can have almost 4 days EPG info.

1 sub table = 256 sections
Which means,
= 32 segments
= 3 * 32 hrs info (since 1 segment can have 3 hrs info)
= 96 hrs info
= 4 days info
Therefore 16 tables can have 16*4 = 64 days EPG information for one service.

P.S: It is enough to collect the first schedule table (table id 0x50 / 0x60) to view EPG for first 4 days. If we need Weekly EPG we need to collect the next sub table (table id 0x51 / 0x61) also. So for further more days we can collect other sub tables.