SlideShare a Scribd company logo
1 of 35
Download to read offline
Studio e sviluppo di un’applicazione
   MHP per la realizzazione di una
        guida tv (EPG) evoluta
                          Tesi di laurea di
                        Marco Bartolozzi
Relatori:
Prof. Alessandro Piva
Dr. Roberto Caldelli
Ing. Rudy Becarelli
Dr. Paolo Mazzanti
Ing. Matteo Casini                            08 Aprile 2011
Sommario
• Obiettivo tesi e scenario di riferimento (TV digitale
  terrestre)
• Demo
• Transport Stream (TS) e tabelle informative PSI/SI
• Progettazione applicazione “EPG-Client”
• Conclusioni e sviluppi futuri




                                                          2
EPG
La sigla EPG è l’acronimo di Electronic Program
Guide e indica un’applicazione destinata ai decoder
interattivi (STB – set top box) e ai nuovi televisori
digitali (iDTV) per fornire l’elenco dei programmi
attualmente diffusi o di prossima programmazione
sui canali televisivi digitali.

Le soluzioni presenti sul mercato sono due:
  guida standard realizzata dai principali produttori
  di decoder e televisori
  guida MyEPG realizzata da Mediaset in
  collaborazione con Tv Sorrisi e Canzoni.

                                                        3
Obiettivo
Sviluppare un’applicazione Java MHP di EPG dei canali
trasmessi ad una stessa frequenza (mux) con contenuti
multimediali aggiuntivi.

Scenario applicativo
                                        Segnale digitale
                                           terrestre




                                                           Broadcaster




        TV
                                  Xlet
                  Set Top Box   Application
                                 Manager
                                                                    4
Standard DVB
Lo standard DVB definisce le metodologie di trasmissione
del segnale digitale in ambito televisivo.
Tale standard rispetta le specifiche definite dall’ETSI
(European Telecomunications Standards Institute).

In base al canale trasmissivo e al tipo di modulazione lo
standard DVB si divide in alcuni sottostandard:
   DVB-S (Satellite)
   DVB-T (Terrestrial)
   DVB-C (Cable)
   DVB-H (Handheld)

                                                            5
Standard di compressione
           MPEG-2
Lo standard di compressione audio/video MPEG-2 è
alla base dello standard DVB-T per le trasmissioni televisive
digitali le quali non sarebbero possibili senza una riduzione
della quantità di dati per rappresentare le informazioni.




                                                           6
Composizione Transport Stream
Il Transport Stream è un flusso composto da più servizi ognuno
dei quali è formato da uno o più eventi.
Ogni evento è composto da stream elementari audio,video e
dati codificati.




                                                                 7
Tabelle PSI / SI
Gli standard DVB-SI e MPEG-2 definiscono delle tabelle
informative del transport stream relative ai servizi presenti,
agli eventi e agli stream elementari componenti.
 PAT – Program Association Table
 PMT – Program Map Table             Tabelle PSI (Program
 NIT – Network Information Table     Specific Information)
 CAT – Conditional Access Table      definite da MPEG-2
BAT – Bouquet Association Table
SDT – Service Description Table       Tabelle SI (Service
EIT – Event Information Table         Information) definite
RST – Running Status Table
TDT – Time Date Table
                                      da DVB-SI
TOT – Time Offset Table
                                                              8
Tabelle EIT
All’interno delle tabelle EIT vengono inserite le
informazioni relative agli eventi in programmazione
sui servizi dello stesso transport stream.
Le tabelle EIT possono essere di due tipi:
  EIT present-follow: contengono le informazioni relative
                      all’evento attuale e successivo di un
                      particolare servizio

  EIT schedule: contengono informazioni relative agli
                eventi in programmazione entro un
                arco di tempo


                                                              9
Sezioni
Le sezioni di una tabella condividono campi che ne permettono
la sua identificazione univoca:
   table_id
   table_id_extension               Dimensione massima tabelle:
   section_number                     1024 byte tabelle PSI
   version_number                     4096 byte tabelle DVB-SI

                    Descrittori
Sono composti da tre elementi identificativi: { tag, lenght, content }

 Le tabelle EIT definiscono due descrittori per fornire informazioni
 aggiuntive sugli eventi:
   short_event_descriptor
   extended_event_descriptor

                                                                       10
Standard DSMCC
Per la trasmissione di dati è stato definito lo standard
DSMCC basato sullo stream MPEG-2. Tale standard
è utilizzato quindi per trasmettere le applicazioni e le
risorse ai ricevitori.




                                                           11
Sistema trasmissivo OpenCaster
Sezione tabella EIT definita durante la sperimentazione
OpenCaster è un framework open-source per la
gestione del sistema trasmissivo per la tv digitale.

E’ composto da:
  un insieme di librerie scritte in linguaggio Python
  un insieme di strumenti (tool) scritti in C
                                          Percorso file immagine
                                            all’interno del filesystem
                                            trasmesso in broadcast
E’ possibile modificare i dati delle tabelle informative del
Transport Stream attraverso un file di configurazione python
fornito da OpenCaster.


                                                                    12
Sistema trasmissivo OpenCaster
Comandi necessari per mandare in onda un transport stream:
1.oc-update
2.tscbrmuxer
3.tsstamp
4.DtPlay

oc-update permette di trasformare un filesystem in un DSMCC
object-carousel.
tscbrmuxer permette di effettuare il multiplexing vero
e proprio dei pacchetti TS ad un bit-rate predefinito e costante.
tsstamp permette di sincronizzare gli stream audio/video in base
al bitrate complessivo
DtPlay manda in onda il transport stream alla frequenza desiderata

                                                                    13
Ambiente di sviluppo

      JMAG




                       14
Analisi dei casi d’uso
Requisiti applicazione: guida televisiva dei canali presenti
all’interno dello stesso mux e visualizzazione dei contenuti
multimediali collegati agli eventi in programmazione.




                                                               15
Architettura applicazione
         “EPG-Client”
                          EPG




View         Controller         Model
                                        16
API DVB-SI
Le richieste inviate allo stream tramite i metodi della
API DVB SI sono asincrone.

Metodi presenti all’interno della API per il recupero
delle informazioni dalle tabelle PSI/SI:
 retrieveActualSITransportStream
 retrieveSIServices
 retrieveSIPresent
 retrieveSIFollowing
 retrieveSISchedule
 retrieveSIDescriptors

                                                          17
API DVB-SI
La API è event-source poiché restituisce un evento per
ogni richiesta effettuata allo stream. Gli eventi possono
essere di due tipi: eventi di successo o eventi di insuccesso.

SISuccessfulRetrieveEvent – richiesta allo stream DVB
                           avvenuta correttamente
SILackOfResourceEvent – richiesta non completata
                          per mancanza di risorse
SIRequestCancelledEvent – richiesta cancellata
SITableNotFoundEvent
SIObjectNotInTableEvent informazione non trovata
SINotInCacheEvent
                                                          18
API DVB-SI
Per ogni chiamata effettuata alla API sono stati creati
dalla classe HandlerFactory degli oggetti ascoltatori che
rimangono in attesa delle risposte relative ai dati informativi
delle differenti tabelle.
• Handler1 – transport stream
• Handler2 – servizi presenti
• Handler3 – eventi
• Handler4 – descrittori eventi

• costrutto java synchronized



                                                            19
Diagramma di sequenza
   recupero dati EPG




                        20
Diagramma di sequenza
   recupero dati EPG




                        21
Diagramma di sequenza
   recupero dati EPG




                        22
File multimediali della guida
I file multimediali trasmessi nello stream collegati agli
eventi sono tre:

  file immagine (.gif, .jpg o .png)
                                        Restrizioni standard
  file audio (.mp2)                              MHP

  file xml di descrizione estesa        Dimensioni limitate
                                        tabella EIT




                                                              23
Struttura file xml
<?xml version="1.0" encoding="UTF-8"?>
<descrizione>
      <trama> </trama>
      <cast> </cast>             UTF-8: codifica standard che comprende
      <regista> </regista>       un set completo di caratteri inclusi
                                 caratteri speciali e lettere accentate.
      <recensioni>
          <recensione>
              <autore> </autore>
              <desc> </desc>
          </recensione>
          …
      </recensioni>
      <info> </info>
      <curiosita> </curiosita>
</descrizione>
                                                                     24
Recupero file dallo stream
L’accesso al filesystem trasmesso in broadcast è stato
fondamentale per il recupero dei file multimediali di interesse.
• API Davic
• API DSMCC




                                                                   25
Parser NanoXML
E’ una libreria Java utilizzata per effettuare il parsing di file
Xml.

Caratteristiche:
• utilizzabile in sistemi embedded (KVM o J2ME)
• parser Java di piccole dimensioni
• veloce per piccoli documenti


Nell’applicazione è stata utilizzata la versione 1.6 poiché la
2.1 più compatta (6KB) e veloce è risultata incompatibile con
alcuni STB.




                                                                    26
Selezione servizio
Un servizio a livello logico è visto come una collezione di informazioni
di servizio, stream audio/video e applicazioni che possono essere presentate
insieme come un’entità coerente.




                                                                               27
Selezione servizio
ServiceContext è la classe che rappresenta l’ambiente in cui tali
servizi sono presentati.




                                                                    28
Diagramma di sequenza
   selezione servizio
• API JavaTV Service Selection




                                 29
Dimostrazione EPG-Client




                           30
Risultati sperimentali


DiPro              Elsag         Humax           Telesystem
Interact I         Aries 1000H   Combo 9000      TS7900HD




              Funzionamento applicazione EPG-Client

                                                              31
Applicazione EPG - Schedule

   E’ stata sviluppata inoltre un’altra applicazione con la stessa
   struttura di EPG-Client per il recupero delle informazioni sugli
   eventi in Iprogrammazione entro unElsag 1000H
      DiPro
      Interact
                      Humax
                      Combo 9000
                                                        Telesystem
                                          arco di tempo compreso fra
                                         Aries          TS7900HD
   due date.

   Metodi API DVB SI:
                RetrieveSISchedule                RetrieveSIActual
    retrieveSIPresent                             TransportStream
    retrieveSIFollowing                retrieveSISchedule
                    SISuccessfulRetrie
SILackOfResource valEvent              SISuccessful      Generic
                    contenente solo il RetrievalEvent    event of
                    primo                                failure
                    evento
                                                                       32
Applicazione lato server –
“Guida TV” per la generazione del
  file di configurazione python




                                    33
Conclusioni
  Applicazione EPG-Client per la visualizzazione degli
  eventi attuale e successivo dei canali entro il mux
  comprensivi dei contenuti multimediali
  STB Telesystem non implementa la API DVB-SI
  metodo retrieveSISchedule restituisce risposte differenti
   su ogni STB

Limiti dello standard DVB-SI:
  le tabelle EIT non forniscono un descrittore specifico
   per i contenuti multimediali della guida
  le tabelle sono limitate in dimensioni per questo è
   stato necessario trasmettere le informazioni aggiuntive
   attraverso un file xml in broadcast
                                                         34
Sviluppi futuri
Meccanismo automatico per la modifica delle tabelle
EIT-present follow al termine di un evento su un canale
televisivo

Creazione di un database per l’inserimento di eventi entro
un arco di tempo dei canali televisivi di un’emittente tv.




                                                          35

More Related Content

Viewers also liked

The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...Brian Solis
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)maditabalnco
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016Andrew Chen
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome EconomyHelge Tennø
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsBarry Feldman
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your BusinessBarry Feldman
 

Viewers also liked (6)

The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...The impact of innovation on travel and tourism industries (World Travel Marke...
The impact of innovation on travel and tourism industries (World Travel Marke...
 
Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)Reuters: Pictures of the Year 2016 (Part 2)
Reuters: Pictures of the Year 2016 (Part 2)
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Similar to Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta

JIPDay 2005: Xlet Java Programming
JIPDay 2005: Xlet Java ProgrammingJIPDay 2005: Xlet Java Programming
JIPDay 2005: Xlet Java ProgrammingMatteo Baccan
 
Presentazione 7Box-Hd
Presentazione 7Box-HdPresentazione 7Box-Hd
Presentazione 7Box-Hdgiosco
 
Tesi Specialistica
Tesi SpecialisticaTesi Specialistica
Tesi Specialisticaguestb70ba
 
Delphi Day 2009 Win7 Dev Overview
Delphi Day 2009 Win7 Dev OverviewDelphi Day 2009 Win7 Dev Overview
Delphi Day 2009 Win7 Dev Overviewpietrobr
 
Le Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM iLe Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM iS.info Srl
 
Evento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativoEvento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativoPRAGMA PROGETTI
 
CEIm magazine-Gennaio/Febbraio 2022
CEIm magazine-Gennaio/Febbraio 2022CEIm magazine-Gennaio/Febbraio 2022
CEIm magazine-Gennaio/Febbraio 2022Massimo Talia
 
Corso live streaming sett 2013 lesson 4
Corso live streaming sett 2013 lesson 4Corso live streaming sett 2013 lesson 4
Corso live streaming sett 2013 lesson 4InSide Training
 
CatraStreamingPlatform_RedHatMagazine
CatraStreamingPlatform_RedHatMagazineCatraStreamingPlatform_RedHatMagazine
CatraStreamingPlatform_RedHatMagazineGiuliano Catrambone
 
Prot09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana DenisProt09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana Denisguest93a145
 
Aderire Al Portale Della Cultura Italiana
Aderire Al Portale Della Cultura ItalianaAderire Al Portale Della Cultura Italiana
Aderire Al Portale Della Cultura Italianadmerlitti
 
Emoncms gabriponzo+andreabelloni
Emoncms gabriponzo+andreabelloniEmoncms gabriponzo+andreabelloni
Emoncms gabriponzo+andreabelloniGabriele Ponzo
 
Corso live streaming sett 2013 lesson 3
Corso live streaming sett 2013 lesson 3 Corso live streaming sett 2013 lesson 3
Corso live streaming sett 2013 lesson 3 InSide Training
 
Utilizzo delle System Information Broadcasting nell’acquisizione dei segnali ...
Utilizzo delle System Information Broadcasting nell’acquisizione dei segnali ...Utilizzo delle System Information Broadcasting nell’acquisizione dei segnali ...
Utilizzo delle System Information Broadcasting nell’acquisizione dei segnali ...Snpambiente
 

Similar to Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta (20)

JIPDay 2005: Xlet Java Programming
JIPDay 2005: Xlet Java ProgrammingJIPDay 2005: Xlet Java Programming
JIPDay 2005: Xlet Java Programming
 
Presentazione Tesi
Presentazione TesiPresentazione Tesi
Presentazione Tesi
 
Presentazione 7Box-Hd
Presentazione 7Box-HdPresentazione 7Box-Hd
Presentazione 7Box-Hd
 
Tesi Specialistica
Tesi SpecialisticaTesi Specialistica
Tesi Specialistica
 
IdTV
IdTVIdTV
IdTV
 
Delphi Day 2009 Win7 Dev Overview
Delphi Day 2009 Win7 Dev OverviewDelphi Day 2009 Win7 Dev Overview
Delphi Day 2009 Win7 Dev Overview
 
Le Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM iLe Novita’ dello sviluppo applicazioni per IBM i
Le Novita’ dello sviluppo applicazioni per IBM i
 
Evento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativoEvento 18 giugno - Sviluppo applicativo
Evento 18 giugno - Sviluppo applicativo
 
CEIm magazine-Gennaio/Febbraio 2022
CEIm magazine-Gennaio/Febbraio 2022CEIm magazine-Gennaio/Febbraio 2022
CEIm magazine-Gennaio/Febbraio 2022
 
Corso live streaming sett 2013 lesson 4
Corso live streaming sett 2013 lesson 4Corso live streaming sett 2013 lesson 4
Corso live streaming sett 2013 lesson 4
 
CatraStreamingPlatform_RedHatMagazine
CatraStreamingPlatform_RedHatMagazineCatraStreamingPlatform_RedHatMagazine
CatraStreamingPlatform_RedHatMagazine
 
Prot09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana DenisProt09 Rtp Rtcp Rtsp Tognana Denis
Prot09 Rtp Rtcp Rtsp Tognana Denis
 
ISO-OSI
ISO-OSIISO-OSI
ISO-OSI
 
Gestione Reti
Gestione RetiGestione Reti
Gestione Reti
 
Aderire Al Portale Della Cultura Italiana
Aderire Al Portale Della Cultura ItalianaAderire Al Portale Della Cultura Italiana
Aderire Al Portale Della Cultura Italiana
 
Emoncms gabriponzo+andreabelloni
Emoncms gabriponzo+andreabelloniEmoncms gabriponzo+andreabelloni
Emoncms gabriponzo+andreabelloni
 
Corso live streaming sett 2013 lesson 3
Corso live streaming sett 2013 lesson 3 Corso live streaming sett 2013 lesson 3
Corso live streaming sett 2013 lesson 3
 
Utilizzo delle System Information Broadcasting nell’acquisizione dei segnali ...
Utilizzo delle System Information Broadcasting nell’acquisizione dei segnali ...Utilizzo delle System Information Broadcasting nell’acquisizione dei segnali ...
Utilizzo delle System Information Broadcasting nell’acquisizione dei segnali ...
 
Dot net framework 2
Dot net framework 2Dot net framework 2
Dot net framework 2
 
2 Suite Standard
2 Suite Standard2 Suite Standard
2 Suite Standard
 

Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta

  • 1. Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta Tesi di laurea di Marco Bartolozzi Relatori: Prof. Alessandro Piva Dr. Roberto Caldelli Ing. Rudy Becarelli Dr. Paolo Mazzanti Ing. Matteo Casini 08 Aprile 2011
  • 2. Sommario • Obiettivo tesi e scenario di riferimento (TV digitale terrestre) • Demo • Transport Stream (TS) e tabelle informative PSI/SI • Progettazione applicazione “EPG-Client” • Conclusioni e sviluppi futuri 2
  • 3. EPG La sigla EPG è l’acronimo di Electronic Program Guide e indica un’applicazione destinata ai decoder interattivi (STB – set top box) e ai nuovi televisori digitali (iDTV) per fornire l’elenco dei programmi attualmente diffusi o di prossima programmazione sui canali televisivi digitali. Le soluzioni presenti sul mercato sono due: guida standard realizzata dai principali produttori di decoder e televisori guida MyEPG realizzata da Mediaset in collaborazione con Tv Sorrisi e Canzoni. 3
  • 4. Obiettivo Sviluppare un’applicazione Java MHP di EPG dei canali trasmessi ad una stessa frequenza (mux) con contenuti multimediali aggiuntivi. Scenario applicativo Segnale digitale terrestre Broadcaster TV Xlet Set Top Box Application Manager 4
  • 5. Standard DVB Lo standard DVB definisce le metodologie di trasmissione del segnale digitale in ambito televisivo. Tale standard rispetta le specifiche definite dall’ETSI (European Telecomunications Standards Institute). In base al canale trasmissivo e al tipo di modulazione lo standard DVB si divide in alcuni sottostandard: DVB-S (Satellite) DVB-T (Terrestrial) DVB-C (Cable) DVB-H (Handheld) 5
  • 6. Standard di compressione MPEG-2 Lo standard di compressione audio/video MPEG-2 è alla base dello standard DVB-T per le trasmissioni televisive digitali le quali non sarebbero possibili senza una riduzione della quantità di dati per rappresentare le informazioni. 6
  • 7. Composizione Transport Stream Il Transport Stream è un flusso composto da più servizi ognuno dei quali è formato da uno o più eventi. Ogni evento è composto da stream elementari audio,video e dati codificati. 7
  • 8. Tabelle PSI / SI Gli standard DVB-SI e MPEG-2 definiscono delle tabelle informative del transport stream relative ai servizi presenti, agli eventi e agli stream elementari componenti. PAT – Program Association Table PMT – Program Map Table Tabelle PSI (Program NIT – Network Information Table Specific Information) CAT – Conditional Access Table definite da MPEG-2 BAT – Bouquet Association Table SDT – Service Description Table Tabelle SI (Service EIT – Event Information Table Information) definite RST – Running Status Table TDT – Time Date Table da DVB-SI TOT – Time Offset Table 8
  • 9. Tabelle EIT All’interno delle tabelle EIT vengono inserite le informazioni relative agli eventi in programmazione sui servizi dello stesso transport stream. Le tabelle EIT possono essere di due tipi: EIT present-follow: contengono le informazioni relative all’evento attuale e successivo di un particolare servizio EIT schedule: contengono informazioni relative agli eventi in programmazione entro un arco di tempo 9
  • 10. Sezioni Le sezioni di una tabella condividono campi che ne permettono la sua identificazione univoca: table_id table_id_extension Dimensione massima tabelle: section_number 1024 byte tabelle PSI version_number 4096 byte tabelle DVB-SI Descrittori Sono composti da tre elementi identificativi: { tag, lenght, content } Le tabelle EIT definiscono due descrittori per fornire informazioni aggiuntive sugli eventi: short_event_descriptor extended_event_descriptor 10
  • 11. Standard DSMCC Per la trasmissione di dati è stato definito lo standard DSMCC basato sullo stream MPEG-2. Tale standard è utilizzato quindi per trasmettere le applicazioni e le risorse ai ricevitori. 11
  • 12. Sistema trasmissivo OpenCaster Sezione tabella EIT definita durante la sperimentazione OpenCaster è un framework open-source per la gestione del sistema trasmissivo per la tv digitale. E’ composto da: un insieme di librerie scritte in linguaggio Python un insieme di strumenti (tool) scritti in C Percorso file immagine all’interno del filesystem trasmesso in broadcast E’ possibile modificare i dati delle tabelle informative del Transport Stream attraverso un file di configurazione python fornito da OpenCaster. 12
  • 13. Sistema trasmissivo OpenCaster Comandi necessari per mandare in onda un transport stream: 1.oc-update 2.tscbrmuxer 3.tsstamp 4.DtPlay oc-update permette di trasformare un filesystem in un DSMCC object-carousel. tscbrmuxer permette di effettuare il multiplexing vero e proprio dei pacchetti TS ad un bit-rate predefinito e costante. tsstamp permette di sincronizzare gli stream audio/video in base al bitrate complessivo DtPlay manda in onda il transport stream alla frequenza desiderata 13
  • 15. Analisi dei casi d’uso Requisiti applicazione: guida televisiva dei canali presenti all’interno dello stesso mux e visualizzazione dei contenuti multimediali collegati agli eventi in programmazione. 15
  • 16. Architettura applicazione “EPG-Client” EPG View Controller Model 16
  • 17. API DVB-SI Le richieste inviate allo stream tramite i metodi della API DVB SI sono asincrone. Metodi presenti all’interno della API per il recupero delle informazioni dalle tabelle PSI/SI: retrieveActualSITransportStream retrieveSIServices retrieveSIPresent retrieveSIFollowing retrieveSISchedule retrieveSIDescriptors 17
  • 18. API DVB-SI La API è event-source poiché restituisce un evento per ogni richiesta effettuata allo stream. Gli eventi possono essere di due tipi: eventi di successo o eventi di insuccesso. SISuccessfulRetrieveEvent – richiesta allo stream DVB avvenuta correttamente SILackOfResourceEvent – richiesta non completata per mancanza di risorse SIRequestCancelledEvent – richiesta cancellata SITableNotFoundEvent SIObjectNotInTableEvent informazione non trovata SINotInCacheEvent 18
  • 19. API DVB-SI Per ogni chiamata effettuata alla API sono stati creati dalla classe HandlerFactory degli oggetti ascoltatori che rimangono in attesa delle risposte relative ai dati informativi delle differenti tabelle. • Handler1 – transport stream • Handler2 – servizi presenti • Handler3 – eventi • Handler4 – descrittori eventi • costrutto java synchronized 19
  • 20. Diagramma di sequenza recupero dati EPG 20
  • 21. Diagramma di sequenza recupero dati EPG 21
  • 22. Diagramma di sequenza recupero dati EPG 22
  • 23. File multimediali della guida I file multimediali trasmessi nello stream collegati agli eventi sono tre: file immagine (.gif, .jpg o .png) Restrizioni standard file audio (.mp2) MHP file xml di descrizione estesa Dimensioni limitate tabella EIT 23
  • 24. Struttura file xml <?xml version="1.0" encoding="UTF-8"?> <descrizione> <trama> </trama> <cast> </cast> UTF-8: codifica standard che comprende <regista> </regista> un set completo di caratteri inclusi caratteri speciali e lettere accentate. <recensioni> <recensione> <autore> </autore> <desc> </desc> </recensione> … </recensioni> <info> </info> <curiosita> </curiosita> </descrizione> 24
  • 25. Recupero file dallo stream L’accesso al filesystem trasmesso in broadcast è stato fondamentale per il recupero dei file multimediali di interesse. • API Davic • API DSMCC 25
  • 26. Parser NanoXML E’ una libreria Java utilizzata per effettuare il parsing di file Xml. Caratteristiche: • utilizzabile in sistemi embedded (KVM o J2ME) • parser Java di piccole dimensioni • veloce per piccoli documenti Nell’applicazione è stata utilizzata la versione 1.6 poiché la 2.1 più compatta (6KB) e veloce è risultata incompatibile con alcuni STB. 26
  • 27. Selezione servizio Un servizio a livello logico è visto come una collezione di informazioni di servizio, stream audio/video e applicazioni che possono essere presentate insieme come un’entità coerente. 27
  • 28. Selezione servizio ServiceContext è la classe che rappresenta l’ambiente in cui tali servizi sono presentati. 28
  • 29. Diagramma di sequenza selezione servizio • API JavaTV Service Selection 29
  • 31. Risultati sperimentali DiPro Elsag Humax Telesystem Interact I Aries 1000H Combo 9000 TS7900HD Funzionamento applicazione EPG-Client 31
  • 32. Applicazione EPG - Schedule E’ stata sviluppata inoltre un’altra applicazione con la stessa struttura di EPG-Client per il recupero delle informazioni sugli eventi in Iprogrammazione entro unElsag 1000H DiPro Interact Humax Combo 9000 Telesystem arco di tempo compreso fra Aries TS7900HD due date. Metodi API DVB SI: RetrieveSISchedule RetrieveSIActual retrieveSIPresent TransportStream retrieveSIFollowing retrieveSISchedule SISuccessfulRetrie SILackOfResource valEvent SISuccessful Generic contenente solo il RetrievalEvent event of primo failure evento 32
  • 33. Applicazione lato server – “Guida TV” per la generazione del file di configurazione python 33
  • 34. Conclusioni Applicazione EPG-Client per la visualizzazione degli eventi attuale e successivo dei canali entro il mux comprensivi dei contenuti multimediali STB Telesystem non implementa la API DVB-SI metodo retrieveSISchedule restituisce risposte differenti su ogni STB Limiti dello standard DVB-SI: le tabelle EIT non forniscono un descrittore specifico per i contenuti multimediali della guida le tabelle sono limitate in dimensioni per questo è stato necessario trasmettere le informazioni aggiuntive attraverso un file xml in broadcast 34
  • 35. Sviluppi futuri Meccanismo automatico per la modifica delle tabelle EIT-present follow al termine di un evento su un canale televisivo Creazione di un database per l’inserimento di eventi entro un arco di tempo dei canali televisivi di un’emittente tv. 35