SI and EPG - alex chang

advertisement
EPG
present by: Alex Chang
R&D 6
Email: alex1_chang@asus.com.tw
大綱
What is EPG?
Transport stream and DVB-SI
Network Information Table (NIT)
Bouquet Association Table (BAT)
Service Description Table (SDT)
Event Information Table (EIT)
Sending TS packets
TS packet structure
結論與討論
What is EPG
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
Transport stream and DVB-SI
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.
TS packets are derived from elementary streams,
service information, private data, and conditional
access control.
Null transport packets are used to soak-up any
spare multiplex capacity, which can also appear
in the TS.
MPEG-2 allows a separate Service Information
system to be used to complement its Program
Specific Information (PSI)
Program Specific Information (PSI)
Defined in the MPEG-2 systems specification.
Structured in the four tables:




PAT (PID=0x0000) – indicates the location of the corresponding
PMT.
– gives the location of NIT.
CAT (PID=0x0001) – provides information on the CA system
used in the multiplex.
PMT (PID=P) – identifies and indicates the locations of the
streams the make up each service and the locations of the
Program Clock Reference fields for a service.
NIT – contains information relating to the physical organization of
the multiplexes carried via a given network and the relevant
tuning information.
Service Information (SI)
Provides information on available services:




What frequencies carry them
Groups services into common interest categories
Information on the events in a service
Contains information used by network operator: which
network originated the service etc.
DVB-SI’s four main tables:




NIT
BAT
SDT
EIT
Service Information (SI)
Each table is split into sections. Each section has a
header, and either two (SDB & EIT), or three (NIT & BAT)
loops containing descriptors specific to each table.
The section_number being incremented each time a new
table section is sent.
Section_number is an 8-bit field, so the max number of
sections per table is 256.
The section length for all tables is 1021 bytes, apart from
the EIT which is 4096
The descriptors carry information relevant to its function.
BAT and SDT can be carried on the same PID.
Table information changes are notified by incrementing
the section version number.
DVB Service Information Table Structure
Network Information Table
NIT sections always use PID 10hex
Each network described is identified by its
network_id.
NIT table_id has one of two values:



40hex – for sections describing the current network
41hex – for section describing other networks
This allows rapid translation of information at Network
boundaries, e.g. moving from satellite to cable TV
network
NIT structure
 Network descriptor loop carries
network wide information:
-- linkage_descriptor provides
links to other services describing
the network.
 transport stream loop identifies
each stream carried.
 Inner transport stream descriptor
loop contains network information
on each transport stream
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
Bouquet Association Table
Allows the grouping of common interest services
in the EPG
Provides a list of services for each bouquet as
well as the name of the bouquet.
A particular service can belong to one or more
bouquets.
BAT sections identified by the BAT table_id
4Ahex
The bouquet_id identifies which bouquet it
described (e.g. sports services).
BAT structure
 bouquet descriptor loop contains
bouquet wide information, like its
name and its country availability.
 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.
For example, a bouquet specially for sports
channels; with the transport stream loop
listing all streams containing sports; the
stream descriptor loop listing all sport
services contained in each stream.
Service Description Table
Contains data describing the services in a transport
stream, e.g., the names of services, the service provider,
etc.
Lists the names and other parameters associated with
each service in a multiplex.
SDT table_id has one of two values:


42hex – for section describing the current transport stream
46hex – for section describing another transport stream
The header contains global information.
ex. Transport stream id
original network id
section number
version 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)
Include present/following and schedule tables
Contains data concerning events such as event name, start time,
duration, etc.
Carried on PID 12hex.
Has the same structure as the SDT, but four different types of
EIT section can exist:
Actual transport stream
Other transport stream
Present/following Contains info on current
event
and next event available
table_id=4Ehex
Contains info on current
and next event available
for a diff TS
Table_id=4Fhex
Contains info on several
events following current
event.
Table_id=50hex~5Fhex
Contains info on several
events following current
event for a diff TS
Table_id=60hex~6Fhex
Event schedule
Event Information Table (2/2)
The present/following EIT is distributed over two
sections:


Section_number 00hex – reserved for present
Section_number 01hex – reserved for following
The 256 sections per table are divided into 32
segments of 8 sections each.
Each segment contains event information for a three
hour period, with segment0 of table_id50hex covering
events from 2400hrs to 02:59:59 etc.
32 segments of table_id=50hex cover a four day
period.
With 16 table_id’s available, a schedule/EIT covers 64
days of events.
Table_id’s and section_number’s are ordered
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.
Summary
The DVB-SI tables are transmitted in sections.
Each table must be segmented into one or
more sections with the same table_id as the
table before being inserted into TS packets.
A section is a syntactic structure.
Each table are limited to 1024 bytes in length,
except for sections within EIT, which are
limited to 4096 bytes.
Each section is uniquely identified by the
combination of the five fields in a section,
such as table_id, section_number, etc.
Sending TS packets
For SI specified in *ETSI, the min time interval
between the arrival of the last byte of a
section and the first byte of the next
transmitted section should be 25 milliseconds.
This limit applies for transport streams with a
total data rate of up to 100Mb/s.
A TS packet is always 188 bytes long.
It comprises a 4-byte header followed by a
payload. The payload is 184 bytes in length
註: European Telecommunications Standards Institute
A UDP Datagram Packet
TS packet structure
The first byte is a sync-byte having the value 0x47, which is used for
the decoder to identify the start of each new transport packet
In 2nd and 3rd bytes, the 1st bit is transport_error_indicator, the 2nd bit
is payload_unit_start_indicator, the 3rd bit is transport_priority, and the
last 13-bit is PID
In 4th byte, the first two bits are transport_scrambling_control, the
second two bits are adaptation_control, the last 4-bit is
continuity_count
Trnasport_error_indicator
Payload_unit_start_indicator
01000111 01000000 00000000
byte2
byte3
byte1
Transport_priority
PID
11000000
Continuity_count
adaptation_control
Transport_scrambling_control
A header of a TS packet
Service Information Organization
Download