Dvb Standards

  • July 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Dvb Standards as PDF for free.

More details

  • Words: 2,985
  • Pages: 30
Digital Video Broadcasting – Service Information (DVB – SI)

1

DVB Documents • Baseband Processing – EN 300 468 (DVB-SI) • Specification for Service Information (SI) in DVB systems. • ETR 211 includes a set of guidelines describing how the SI could be used.

– EN 300 472 (DVB-Teletext) • which provides a mechanism to enable the delivery of "analog" teletext to receiver via DVB

– ETS 300 743 (DVB-Subtitling) • which provides a mechanism for the transmission of subtitles (in all kinds of text and graphic elements) to receiver via DVB.

• Transmission – EN 300 421 (DVB-S) • channel coding and modulation for DVB signal delivery on Satellite systems

– EN 300 429 (DVB-C) • channel coding and modulation for DVB signal delivery on Cable systems

– EN 300 744 (DVB-T) • channel coding and modulation for DVB signal delivery on Terrestrial systems 2

DVB Documents • Conditional Access – ETR 289 (DVB-scrambling) • Common Scrambling Algorithm developed by members of DVB.

– EN 50221 (DVB-CI) • Specification which enables an IRD to descramble programmes which have been broadcast in parallel, using different CA systems. • By way of inserting a PCM/CIA module into the common interface, different CA systems can be addressed sequentially by that IRD.

• Interactive Services – EN 301 192 (DVB-data) • DVB specifications for data broadcasting. • Guideline for using EN301 192 are given in TR 101 202.

– TS 101 812: ( MHP 1.0.3 ) , TS 102 812: ( MHP 1.1.1 ) • Multimedia home platform specification by DVB.

• System Software Update – TS 102 006 (DVB-SSU) • DVB specifications for over-the-air system software update, 3

SI tables hierarchy

table_id allocation 4

Overview of Service Information (SI) • NIT (Network Information Table) – NIT groups a number of Transport Streams together (as a network) and provides tuning information for an IRD (Integrated Receiver Decoder).

• BAT (Bouquet Association Table) – A Bouquet is a group of services presented to the user as a single package. – The user selects different services within the bouquet, but might not be aware that the IRD picks up services in different TSs within the network.

• 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 other Transport Streams within the bouquet /network.

5

Overview of Service Information (SI) • EIT (Event Information Table) – This forms the basis of database upon which EPG (Electronic Program Guide) is built. – Present/Following EIT shows currently running or next coming programmes information. Schedule EIT is arranged by table, sub-table, segment and section into 3 hours blocks within which the programmes info. for several days can be transmitted.

• TDT (Time Date Table) – Provides UTC (Universal Time) coded as MJD (Modified Julian Date)

• TOT (Time Offset Table) – It is used to provide time offsets to give local time.

• RST (Running Status Table) – These are sent out only once to update the status of an event. 6

• •

• •







section_syntax_indicator : – this should be set to '1' section_length: – the number of bytes of the section, starting immediately following the section_length field, and including CRC32. table_id_extension: – for different purposes on different tables. version_number: – It shall increase by 1 whenever the context of the Table changes. current_next_indicator: – when set to '1' indicates that current Table is applicable; when set to '0', it indicates that only the next table will become valid. section_number: – 0x00 for the first section in Table, and increase by 1 with each additional section. last_section_number: – It specifies the number of the last section of the complete Table.

SI Section Header

Section_length table_id_extension

table_id Assignment

7

Overview of Service Information (SI) • Physical Channel Database – NIT (Network Information Table)

• Virtual Channel Database – – – –

PAT (Program Association Table) PMT (Program Map Table) SDT (Service Description Table) BAT (Bouquet Association Table)

• Event Database – EIT (Event Information Table) – TDT/TOT (Time Date Table/Time Offset Table)

8

NIT • The Network Information Table (NIT) provides information regarding a network on which various transport streams reside. • NIT is specified in MPEG2 system layer, but is defined in DVB. • ATSC did not use NIT. table_id_extension = network_id

Network_name_descriptor()

Satellite_delivery_system_descriptor() Cable_delivery_system_descriptor() Terrestrial_delivery_system_descriptor() Service_list_descriptor() 9

NIT Example

table_id = 0x40 Network_id = 0x0001 Network_name: TVNZ TS_id = 1 Freq:12316H/ SR:5632/.. Service_id Service_type 0x01 digital TV 0x02 digital Radio 0x03 digital TV

TS_id = 2 Freq:12326H/ SR:6111/.. Service_id Service_type 0x01 digital TV 0x02 digital Radio

TS_id = 1 Program_number = 0x01 … Program_number = 0x02 … Program_number = 0x03 …

PAT

TS_id = 2 Program_number = 0x01 … Program_number = 0x02 …

PAT

Satellite_delivery_system_descriptor

10

NIT • original_network_id v.s. network_id – The original_network_id is used to support unique identification of a service even if it has been transferred to another delivery system than the one where it originated. When a service is transferred to another delivery system, only the network_id changes. The original_network_id should remain unaffected. – original_network_id/ transport_stream_id uniquely identify a TS. – original_network_id/ transport_stream_id/ service_id uniquely identify a service. Network 10 Service A original_nw_id network_id transport_str_id service_id Network 11 Service B original_nw_id network_id transport_str_id service_id

Network 12 13 10 20 30

11 11 20 30

TS X Service A original_nw_id network_id transport_str_id service_id

13 12 20 30

TS Y Service B original_nw_id network_id transport_str_id service_id

11 12 20 30

What if use same TS ?

11

NIT • Network_id – Network_id is a code to identify a network. It is allocated by the Joint Technical Committee (JTC) of the European Broadcasting Union (EBU) and the European Telecommunications Standards Institute (ETSI) at the request of potential service providers, and will be posted on ETR 162.

• Actual network v.s. Other network – NIT provides a grouping of TSs and the relevant tuning information. The transmission of NIT is mandatory for the actual delivery system. • The NIT with table_id = 0x40 describes the actual network (that is, the network of which the user is currently tuned to). • The NIT with table_id = 0x41 describes the other network information. – There is one NIT/actual table in a TS, but may have many NIT/other tables (distinguished by network_id (in table_id_extension field) in a TS

12

Physical Channel Database • Physical Channel Database Building • The receiver needs to find physical channel tuning info. so that it can tune to each physical channel to get PSI/SI to build-up virtual channel database.

– Tuning Parameters Satellite Frequency Symbol Rate Polarity FEC_inner

Cable Frequency Symbol Rate Modulation FEC_inner

Terrestrial Frequency Bandwidth Constellation Code Rate Guard interval

– Build-in (hard-coded) tuning parameters • Terrestrial (CH. 2-69), Cable (CH. 1-128), Satellite (no rule) • Fast scanning speed. • Non-flexible, fail to find channels while tuning parameters change

– Band scan • Full-band search to find physical carriers • Slow scanning speed • Flexible, the scanning is not affected by tuning parameters change 13

Physical Channel Database – NIT scan • Tune to master channel using default tuning parameters • Get NIT to find tuning parameters of more TSs (same or different networks).

– Multi-layer NIT scan: • Repeatedly perform NIT scan. Default channel 12306H/6980

At 12306H/6980 NIT table_id = 0x40 TS1: 12316H/5632/… TS2: 12326H/6111/… PAT, PMT, SDT,…

At 12316H/6111 NIT table_id = 0x40 TS1: 12702H/5632/… TS2: 12703V/6111/… PAT, PMT, SDT,… At 12326H/5632 NIT table_id = 0x40 TS1: 12644H/6980/… TS2: 12646V/6980/… TS3: 12652H/6980/… PAT, PMT, SDT,…

At 12702H/5632 At 12703V/6111 NIT table_id = 0x40 TS1: … TS2:… At 12644H/6980 At 12646V/6980 At 12652H/6980 NIT table_id = 0x40 TS1: … TS2:… 14

PSI – PAT and PMT • PAT – PID: fixed at 0x0000, table_id: fixed at 0x00 – One PAT per transport stream (multiplexer) – transport_stream_id field is used to identify the Transport Stream that this PAT belongs to.

• PMT – PID: assigned in PAT, table_id: fixed at 0x02 – Multiple PMTs per transport stream.

15

SDT • •

The SDT is used to list names and other parameters of the services within TSs. Two types of SDTs, “Actual” and “Other”, are defined by DVB.

table_id_extension = TS_id

– SDT/Actual describes services available on the TS currently being accessed by the viewer; SDT/Other describes services on other TSs in the network. – SDT/Actual and SDT/Other is identified by table_id (0x42, 0x46). Both PID=0x11. – Transmission of SDT/Actual is mandatory.



Syntax – Service_id: same as program_number in the corresponding PAT and PMT. – EIT_schedule_flag: "1“: EIT/schedule table for the service is present in this TS. “0”: not present. – Free_CA_mode: “0”: free service; “1” this service is scrambled by CA system.

Service_ descriptor (tag=0x48) CA_identifier_descriptor (0x53)

16

Example of SDT PAT (PID=0, Table_id=0) TS_id = 0x0001 Program_number: 100 Program_number: 200 Program_number: 300

PMT Program_number: 100

PMT

PMT Program_nb: 100

Program_number: 200

PMT Program_number: 300

SDT/Actual

from Service_descriptor ( tag=0x48 )

(PID = 0x11, table_id = 0x42)

transport_stream_id = 0x0001

Service_id EIT_p/f EIT_schedule free_ca_mode service_provider service_name 100 0x01 0x00 0x00 TVB TVB-S 200 0x01 0x00 0x01 TVB TVB-G 300 0x01 0x00 0x00 TVB TVB-N • One SDT/Actual for actual TS (current TS). • For each TS/Other, a separate SDT/Other table is needed if present. 17

BAT • Bouquet – It is a group of services that the broadcaster offers as a single product to users. – A bouquet may group together services from more than one TS, which could even be in different networks. – One service may belong to one or more bouquets.

18

BAT example Table_id_extension = bouquet_id

Bouquet_id = 0x15 Bouquet_name = early bird TS_id = 0x0001 original_network_id = 0x0002 Service_id Service_type 0x10 digital TV 0x11 digital TV TS_id = 0x0005 original_network_id = 0x0005 Service_id Service_type 0x20 digital TV 0x21 data broadcast 0x22 digital Radio

Bouquet_id

Bouquet_name_descriptor() {

Service_list_descriptor() {

It is allocated by JTC of EBU as well as ETSI, and will be posted on ETR 162. 19

Virtual Channel Database • Virtual Channel Database Building – From physical channel database, get tuning parameters and tune to each physical channel. – For each physical channel, get PAT (one per TS) by extracting TS packets with PID = 0x0000 and Table_id = 0x00. – Parsing PAT to identify the program number and PID of each PMT. – Get each PMT (several per TS) by extracting TS packets with PMT PID. – Parsing each PMT to identify PCR and Audio/Video PIDs of each service (virtual channel). – Get SDT (one per TS) by extracting TS packets with PID = 0x0011 and table_id = 0x42. – Parsing SDT to get service name of each virtual channel by associating the service_id in SDT with program_number in PAT/PMT. – Get BAT (if exists) to group services with Bouquet name by associating the service_id with that in SDT or program_number in PAT/PMT. 20

EIT • EIT provides event info used to create EPG which displays current, next, and upcoming events for several days. table_id_extension = service_id

– For each service (virtual channel), a separate EIT table exists.

Event_information_section() {

– EIT section has a maximum size of 4096 bytes. Short_event_descriptor()

21

EIT • Present/following (now/next) EIT – EIT p/f for Actual TS uses table_id=0x4E. EIT p/f for Other TS uses 0x4F. – Section_number 0x00 for present event, and 0x01 for following event. – If no present event, an empty section 0 of the EIT p/f shall be transmitted; if no following event, an empty section 1 should be transmitted. – Event_id is unique within the same service_id.

• Syntax: – service_id: the same to service_id in SDT, or program_number in PAT. – start_time: the start time of the event in UTC and MJD • 16 LSBs of MJD followed by 24 bits coded as 6 digits in 4-bit BCD. • Example: 93/10/13 12:45:00 is coded as 0xC079124500.

– duration: contains the duration of the event in hours, minutes, seconds. • Format: 6 digits, 4-bit BCD = 24 bit. • Example: 01:45:30 is coded as "0x014530".

– running_status: it can be running, not_running, pausing, start_in_few_seconds. – free_CA_mode: ‘0’: the event is not scrambled; ‘1’: the event is scrambled. 22

EIT • Schedule EIT – EIT/Schedule is distributed over 16 sub-tables with table_ids: • 0x50 - 0x5F for the actual TS, (ordered chronologically) • 0x60 - 0x6F for other TSs (ordered chronologically) – The 256 sections under each sub-table are divided into 32 segments of 8 sections each. • Segment #0: section 0 to 7, segment #1: section 8 to 15, … etc. • Segment #0 shall contain events events that start between midnight and 02:59:59 (in UTC Time) of today, and Segment #1 shall contain events that start between 03:00:00 and 05:59:59 (in UTC time), etc. • Why define Segment? – That is, the first sub-table (table_id 0x50, or 0x60 for other TS) contains events for the first four days, starting today at midnight UTC time. • 256/8 = 32segments. 32 x 3(hr) = 96(hr) = 4(days) – The last_section_number: to indicate the end of the sub-table. – The last_table_id: to indicate the end of entire EIT/Schedule structure. 23

Example of EIT

Service_id table_id = 0x50 section_number = 0 = 100

SDT (PID = 0x11, table_id = 0x42) transport_stream_id = 0x0001 Service_id EIT_p/f service_name 100 0x01 TVB-S 200 0x01 TVB-G 300 0x01 TVB-N EIT p/f (PID = 0x12, table_id = 0x4E) Service_id = 300 EIT p/f (PID = 0x12, section_number = 0 table_id (present)= 0x4E) event_id =start_time duration event_name Service_id 300 6:30 1800 =sec EIT p/f20(PID = 0x12, 0x4E)news section_number = 0 table_id (present) section_number = 1duration (following) event_id event_name Service_id =start_time 300 event_id start_time duration 20 6:30 1800 sec event_name news section_number = 0 21 7:00 3600 sec sports section_number = 1duration (following) event_id start_time event_name event_id start_time duration event_name 20 6:30 1800 sec news 21 7:00 3600 sec sports section_number = 1 event_id start_time duration event_name 21 7:00 3600 sec sports

short_event_descriptor

segment_last_section_nb = 2 last_section_number = 9 last_table_id = 0x50 table_id = 0x50

section_number = 1 segment_last_section_nb = 2 last_section_number = 9 last_table_id = 0x50 table_id = 0x50 section_number = 2 segment_last_section_nb = 2 last_section_number = 9 last_table_id = 0x50 table_id = 0x50 section_number = 8 segment_last_section_nb = 9 last_section_number = 9 last_table_id = 0x50 table_id = 0x50 section_number = 9 segment_last_section_nb = 9 last_section_number = 9 last_table_id = 0x50

24

Event Database • Event (programmes) Database Building – For each service_id, get its p/f EIT (one per virtual channel, several per TS) by extracting TS packets with PID = 0x0012, table_id = 0x4E, and the specified service_id. – Parsing p/f EIT to get event name, start time, duration, etc. of current and next events (programmes) of this service (virtual channel). – For each service_id, get its EIT/schedule (one per virtual channel, several per TS) by extracting TS packets with PID = 0x0012, table_id = 0x500x5F, and the specified service_id. – Parsing EIT/schedule to get event name, start time, duration, etc of all the events (programmes) of this service (virtual channel). – Another smart way is to directly access the desired EIT segments and get the desired events only.

• Event Database Update – Get TDT/TOT by extracting TS packets with PID = 0x14 and table_id = 0x70 and 0x73, respectively. – Parsing TDT/TOT and convert to current local time. – Remove events with end time < current local time . 25

TDT

TOT

Syntax: • UTC_time: This field contains the current time and date in UTC. It is coded as 16 LSBs of MJD followed by 24 bits coded as 6 digits in 4-bit BCD. e.g., 93/10/13 12:45:00 is coded as 0xC079124500 . • local_time_offset_polarity: ‘0’: the local time is advanced to UTC; "1“: the local time is behind UTC. • local_time_offset: It contains the local offset time from UTC, and is coded as 4 digits in 4-bit BCD in the order hour tens, hour, minute tens, and minutes.

Local_time_offset_descriptor

26

Descriptors

27

ATSC-PSIP v.s. DVB-SI • Comparison between ATSC PSIP and DVB SI – Table change detection • ATSC: The receiver only needs to monitor MGT to know the changes of any of other tables. • DVB: The receiver needs to monitor each table separately to know if it is updated (check if version in section header is changed). • Exclusive Section filtering: – Assuming current version is x, filter all the sections with version != x.

– PID and Table_id allocation • PSIP/SI tables of same PID can be compacted into the same TS packet. • ATSC: Except to EIT/ETT, all other tables use same PID (0x1FFB). EIT-0/1/2/3… ETT-0/1/2/3 use different PIDs. • DVB: Most of tables use different PIDs. EITs of all events use a single PID. 28

ATSC-PSIP v.s. DVB-SI • Comparison – Service (Channel) information • VCT in ATSC is similar to NIT+PAT+PMT+SDT in DVB – VCT carried tuning info of other TS is similar to NIT/Other in DVB – Service Location Descriptor (in ATSC VCT) carried audio/video PID is similar to PAT+PMT in DVB – The short_name field in VCT is similar to service_descriptor in SDT of DVB to describe the service (channel) name.

– Event information • EIT-0/1/2/3/… in ATSC use different PIDs to provide random access to events in a specific time period • The Segments (distinguished by different section number) in DVB EIT provides random access to events in a specific time period.

– System Time information • STT in ATSC is similar to TDT in DVB. • ATSC has no time zone information as defined by TOT in DVB. 29

Home Work Assignment • Choose one of topics – Stream analyzer – EPG

• Choose one of standards – ATSC stream • MGT, VCT, EIT, ETT • descriptors

– DVB stream • PAT, PMT, SDT, EIT (p/f, Schedule) • descriptors

• Evaluation Criteria – Features: 40% – Accuracy: 40% – Coding Style: 20% 30

Related Documents

Dvb Standards
July 2020 6
Hierarchical Dvb
December 2019 17
Dvb Technology
October 2019 24
Dvb Project
June 2020 9
Dvb-t
November 2019 9