epg present by : alex chang r&d 6 email: [email protected]
TRANSCRIPT
EPGEPG
present bypresent by : : Alex ChangAlex Chang
R&D 6R&D 6
Email: [email protected]: [email protected]
大 綱大 綱What is EPG?What is EPG?Transport stream and DVB-SITransport stream and DVB-SINetwork Information Table (NIT)Network Information Table (NIT)Bouquet Association Table (BAT)Bouquet Association Table (BAT)Service Description Table (SDT)Service Description Table (SDT)Event Information Table (EIT)Event Information Table (EIT)Sending TS packetsSending TS packetsTS packet structureTS packet structure結論與討論結論與討論
Electronic Program Guide (EPG) is a feature unique to the digital TV world.
used to entice consumers to purchase programming。
DVB-SI data consisted of EPG navigation
The protocol used to create the EPG is known as the Service Information (SI) tables
Too many service providers implement variety of technologies to achieve EPG, like binary format, file format (XML) etc.
we focus on DVB standard – DVB-SI
What is EPGWhat is EPG
DVB-SI data is multiplexed together with MPEG-2 compressed A/V data streams to form TSs
The multiplexed TS must be demultiplexed in the set-top box.
DVB-SI adds information that enables set-top box to tune automatically to particular services and allows services to be grouped into categories with relevant schedule information.
Transport stream and DVB-SITransport stream and DVB-SI
TS packets are derived from elementary TS packets are derived from elementary streams, service information, private data, and streams, service information, private data, and conditional access control.conditional access control.
Null transport packets are used to soak-up any Null transport packets are used to soak-up any spare multiplex capacity, which can also appear spare multiplex capacity, which can also appear in the TS.in the TS.
MPEG-2 allows a separate Service Information MPEG-2 allows a separate Service Information system to be used to complement its Program system to be used to complement its Program Specific Information (PSI)Specific Information (PSI)
Defined in the MPEG-2 systems specification.Defined in the MPEG-2 systems specification.Structured in the four tables:Structured in the four tables:
PAT (PID=0x0000) – indicates the location of the corresponding PAT (PID=0x0000) – indicates the location of the corresponding PMTPMT..
– – gives the location of gives the location of NITNIT.. CAT (PID=0x0001) – provides information on the CAT (PID=0x0001) – provides information on the CACA system system
used in the multiplex.used in the multiplex. PMT (PID=P) – identifies and indicates the locations of the PMT (PID=P) – identifies and indicates the locations of the
streams the make up each service and the locations of the streams the make up each service and the locations of the Program Clock ReferenceProgram Clock Reference fields for a service. fields for a service.
NIT – contains information relating to the physical organization NIT – contains information relating to the physical organization of the multiplexes carried via a given network and the relevant of the multiplexes carried via a given network and the relevant tuning information.tuning information.
Program Specific Information (PSI)
Provides information on available services:Provides information on available services: What frequencies carry themWhat frequencies carry them Groups services into common interest categoriesGroups services into common interest categories Information on the events in a serviceInformation on the events in a service Contains information used by network operator: which Contains information used by network operator: which
network originated the service etc.network originated the service etc.
DVB-SI’s four main tables:DVB-SI’s four main tables: NITNIT BATBAT SDTSDT EITEIT
Service Information (SI)
Each table is split into Each table is split into sectionssections. Each section has a . Each section has a header, and either two (SDB & EIT), or three (NIT & header, and either two (SDB & EIT), or three (NIT & BAT) loops containing descriptors specific to each table.BAT) loops containing descriptors specific to each table.The section_number beingThe section_number being incremented incremented each time a new each time a new table section is sent.table section is sent.Section_number is an 8-bit field, so the max number of Section_number is an 8-bit field, so the max number of sections per table is 256.sections per table is 256.The section length for all tables is 1021 bytes, apart from The section length for all tables is 1021 bytes, apart from the EIT which is 4096the EIT which is 4096The descriptors carry information relevant to its function.The descriptors carry information relevant to its function.BAT and SDT can be carried on the same PID.BAT and SDT can be carried on the same PID.Table information changes are notified by incrementing Table information changes are notified by incrementing the section version number.the section version number.
Service Information (SI)
DVB Service Information Table Structure
Network Information TableNetwork Information Table
NIT sections always use PID 10hexNIT sections always use PID 10hex
Each network described is identified by its Each network described is identified by its network_id.network_id.
NIT table_id has one of two values: NIT table_id has one of two values: 40hex – for sections describing the current network40hex – for sections describing the current network 41hex – for section describing other networks41hex – for section describing other networks This allows rapid translation of information at Network This allows rapid translation of information at Network
boundaries, e.g. moving from satellite to cable TV boundaries, e.g. moving from satellite to cable TV networknetwork
NIT structure
Network descriptor loop carries network wide information: -- linkage_descriptor provides links to other services describing the network.
For example, if the STB is tuned to one rf channel, and the user requests a service on a different channel. The frequency for this channel is contained in this loop
transport stream loop identifies each stream carried.
Inner transport stream descriptor loop contains network information on each transport stream
Bouquet Association TableBouquet Association Table
Allows the grouping of common interest services Allows the grouping of common interest services in the EPGin the EPGProvides a list of services for each bouquet as Provides a list of services for each bouquet as well as the name of the bouquet.well as the name of the bouquet.A particular service can belong to one or more A particular service can belong to one or more bouquets.bouquets.BAT sections identified by the BAT table_id BAT sections identified by the BAT table_id 4Ahex4AhexThe bouquet_id identifies which bouquet it The bouquet_id identifies which bouquet it described (e.g. sports services).described (e.g. sports services).
BAT structure
bouquet descriptor loop contains bouquet wide information, like its name and its country availability.
For example, a bouquet specially for sportschannels; with the transport stream looplisting all streams containing sports; the stream descriptor loop listing all sport services contained in each stream.
transport stream loop lists all the streams relevant to this bouquet. its contents being identical to the NIT transport stream loop.
Inner transport stream descriptor loop lists all services in that transport stream.
Service Description TableService Description Table
Contains data describing the services in a transport Contains data describing the services in a transport stream, e.g., the names of services, the service provider, stream, e.g., the names of services, the service provider, etc.etc.Lists the names and other parameters associated with Lists the names and other parameters associated with each service in a multiplex.each service in a multiplex.SDT table_id has one of two values: SDT table_id has one of two values:
42hex – for section describing the current transport stream42hex – for section describing the current transport stream 46hex – for section describing another transport stream46hex – for section describing another transport stream
The header contains global information.The header contains global information. ex. Transport stream idex. Transport stream id original network idoriginal network id section numbersection number version numberversion number
SDT structure
service loop identifies each service (via the service_id)
inner service descriptor loop contains detailed information on each service listed in the outer loop.
a unique descriptor in the DVB-SDT is the Mosaic function. This allows information (still images, MPEG-2 clips etc.) on all services (or events) to be displayed on one screen.
Event Information Table (1/2)Event Information Table (1/2)Include present/following and schedule tablesInclude present/following and schedule tablesContains data concerning events such as event name, start time, Contains data concerning events such as event name, start time, duration, etc.duration, etc.Carried on PID 12hex.Carried on PID 12hex.Has the same structure as the SDT, but four different types of Has the same structure as the SDT, but four different types of EIT section can exist: EIT section can exist:
Actual transport streamActual transport stream Other transport streamOther transport stream
Present/following Present/following eventevent
Contains info on current Contains info on current and next event availableand next event availabletable_id=4Ehextable_id=4Ehex
Contains info on current Contains info on current and next event available and next event available for a diff TSfor a diff TSTable_id=4FhexTable_id=4Fhex
Event scheduleEvent schedule Contains info on several Contains info on several events following current events following current event.event.Table_id=50hex~5FhexTable_id=50hex~5Fhex
Contains info on several Contains info on several events following current events following current event for a diff TSevent for a diff TSTable_id=60hex~6FhexTable_id=60hex~6Fhex
Event Information Table (2/2)Event Information Table (2/2)The present/following EIT is distributed over two The present/following EIT is distributed over two sections:sections:
Section_number 00hex – reserved for presentSection_number 00hex – reserved for present Section_number 01hex – reserved for followingSection_number 01hex – reserved for following
The 256 sections per table are divided into 32 The 256 sections per table are divided into 32 segments of 8 sections each.segments of 8 sections each.Each segment contains event information for a three Each segment contains event information for a three hour period, with segment0 of table_id50hex covering hour period, with segment0 of table_id50hex covering events from 2400hrs to 02:59:59 etc. events from 2400hrs to 02:59:59 etc. 32 segments of table_id=50hex cover a four day 32 segments of table_id=50hex cover a four day period.period.With 16 table_id’s available, a schedule/EIT covers 64 With 16 table_id’s available, a schedule/EIT covers 64 days of events.days of events.Table_id’s and section_number’s are ordered Table_id’s and section_number’s are ordered chronologically.chronologically.
EIT structure
service_id, transport_stream_id and original_network_id identify the service, stream and network, the EIT section belongs to.
service_id is the same as the same as the program_number in the corresponding program_map_section
events loop lists all the events descripbed by this section, their start time, length, encryption etc.
inner descriptor loop carries detailed information on parental ratings, content description, telephone description for interactivity etc.
SummarySummaryThe DVB-SI tables are transmitted in sections.The DVB-SI tables are transmitted in sections.
Each table must be segmented into one or Each table must be segmented into one or more sections with the same more sections with the same table_idtable_id as the as the table before being inserted into TS packets.table before being inserted into TS packets.
A section is a syntactic structure.A section is a syntactic structure.
Each table are limited to 1024 bytes in length, Each table are limited to 1024 bytes in length, except for sections within EIT, which are except for sections within EIT, which are limited to 4096 bytes.limited to 4096 bytes.
Each section is uniquely identified by the Each section is uniquely identified by the combination of the five fields in a section, combination of the five fields in a section, such as table_id, section_number, etc.such as table_id, section_number, etc.
Sending TS packetsSending TS packetsFor SI specified in *ETSI, the min time interval For SI specified in *ETSI, the min time interval between the arrival of the last byte of a between the arrival of the last byte of a section and the first byte of the next section and the first byte of the next transmitted section should be transmitted section should be 25 milliseconds25 milliseconds..
This limit applies for transport streams with a This limit applies for transport streams with a total data rate of up to 100Mb/s.total data rate of up to 100Mb/s.
A TS packet is always 188 bytes long.A TS packet is always 188 bytes long.
It comprises a 4-byte header followed by a It comprises a 4-byte header followed by a payload. The payload is 184 bytes in lengthpayload. The payload is 184 bytes in length
註 : European Telecommunications Standards InstituteEuropean Telecommunications Standards Institute
A UDP Datagram Packet
TS packet structureTS packet structureThe first byte is a sync-byte having the value The first byte is a sync-byte having the value 0x470x47, which is used for , which is used for the decoder to the decoder to identify the startidentify the start of each new transport packet of each new transport packetIn 2In 2ndnd and 3rd bytes, the 1st bit is and 3rd bytes, the 1st bit is transport_error_indicator, transport_error_indicator, the 2nd bit the 2nd bit is is payload_unit_start_indicatorpayload_unit_start_indicator, the 3rd bit is , the 3rd bit is transport_prioritytransport_priority, and the , and the last 13-bit is last 13-bit is PIDPIDIn 4th byte, the first two bits are In 4th byte, the first two bits are transport_scrambling_controltransport_scrambling_control, the , the second two bits are second two bits are adaptation_controladaptation_control, the last 4-bit is , the last 4-bit is continuity_countcontinuity_count
01000111byte1
01000000 00000000byte2 byte3
Trnasport_error_indicatorPayload_unit_start_indicator
Transport_priority PID
11000000
Transport_scrambling_controladaptation_control
Continuity_count
A header of a TS packet
Service Information Organization