Studio e sviluppo di un’applicazione   MHP per la realizzazione di una        guida tv (EPG) evoluta                      ...
Sommario• Obiettivo tesi e scenario di riferimento (TV digitale  terrestre)• Demo• Transport Stream (TS) e tabelle informa...
EPGLa sigla EPG è l’acronimo di Electronic ProgramGuide e indica un’applicazione destinata ai decoderinterattivi (STB – se...
ObiettivoSviluppare un’applicazione Java MHP di EPG dei canalitrasmessi ad una stessa frequenza (mux) con contenutimultime...
Standard DVBLo standard DVB definisce le metodologie di trasmissionedel segnale digitale in ambito televisivo.Tale standar...
Standard di compressione           MPEG-2Lo standard di compressione audio/video MPEG-2 èalla base dello standard DVB-T pe...
Composizione Transport StreamIl Transport Stream è un flusso composto da più servizi ognunodei quali è formato da uno o pi...
Tabelle PSI / SIGli standard DVB-SI e MPEG-2 definiscono delle tabelleinformative del transport stream relative ai servizi...
Tabelle EITAll’interno delle tabelle EIT vengono inserite leinformazioni relative agli eventi in programmazionesui servizi...
SezioniLe sezioni di una tabella condividono campi che ne permettonola sua identificazione univoca:   table_id   table_id_...
Standard DSMCCPer la trasmissione di dati è stato definito lo standardDSMCC basato sullo stream MPEG-2. Tale standardè uti...
Sistema trasmissivo OpenCasterSezione tabella EIT definita durante la sperimentazioneOpenCaster è un framework open-source...
Sistema trasmissivo OpenCasterComandi necessari per mandare in onda un transport stream:1.oc-update2.tscbrmuxer3.tsstamp4....
Ambiente di sviluppo      JMAG                       14
Analisi dei casi d’usoRequisiti applicazione: guida televisiva dei canali presentiall’interno dello stesso mux e visualizz...
Architettura applicazione         “EPG-Client”                          EPGView         Controller         Model          ...
API DVB-SILe richieste inviate allo stream tramite i metodi dellaAPI DVB SI sono asincrone.Metodi presenti all’interno del...
API DVB-SILa API è event-source poiché restituisce un evento perogni richiesta effettuata allo stream. Gli eventi possonoe...
API DVB-SIPer ogni chiamata effettuata alla API sono stati creatidalla classe HandlerFactory degli oggetti ascoltatori che...
Diagramma di sequenza   recupero dati EPG                        20
Diagramma di sequenza   recupero dati EPG                        21
Diagramma di sequenza   recupero dati EPG                        22
File multimediali della guidaI file multimediali trasmessi nello stream collegati aglieventi sono tre:  file immagine (.gi...
Struttura file xml<?xml version="1.0" encoding="UTF-8"?><descrizione>      <trama> </trama>      <cast> </cast>           ...
Recupero file dallo streamL’accesso al filesystem trasmesso in broadcast è statofondamentale per il recupero dei file mult...
Parser NanoXMLE’ una libreria Java utilizzata per effettuare il parsing di fileXml.Caratteristiche:• utilizzabile in siste...
Selezione servizioUn servizio a livello logico è visto come una collezione di informazionidi servizio, stream audio/video ...
Selezione servizioServiceContext è la classe che rappresenta l’ambiente in cui taliservizi sono presentati.               ...
Diagramma di sequenza   selezione servizio• API JavaTV Service Selection                                 29
Dimostrazione EPG-Client                           30
Risultati sperimentaliDiPro              Elsag         Humax           TelesystemInteract I         Aries 1000H   Combo 90...
Applicazione EPG - Schedule   E’ stata sviluppata inoltre un’altra applicazione con la stessa   struttura di EPG-Client pe...
Applicazione lato server –“Guida TV” per la generazione del  file di configurazione python                                ...
Conclusioni  Applicazione EPG-Client per la visualizzazione degli  eventi attuale e successivo dei canali entro il mux  co...
Sviluppi futuriMeccanismo automatico per la modifica delle tabelleEIT-present follow al termine di un evento su un canale...
Upcoming SlideShare
Loading in …5
×

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

1,158 views
1,138 views

Published on

Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta - Marco Bartolozzi - AA 2009-2010 Relatori: Dr. Alessandro Piva, Dr. Roberto Caldelli, Ing. Rudy Becarelli, Dr. P. Mazzanti, Ing. Matteo Casini

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,158
On SlideShare
0
From Embeds
0
Number of Embeds
308
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta Tesi di laurea di Marco BartolozziRelatori:Prof. Alessandro PivaDr. Roberto CaldelliIng. Rudy BecarelliDr. Paolo MazzantiIng. Matteo Casini 08 Aprile 2011
  2. 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. 3. EPGLa sigla EPG è l’acronimo di Electronic ProgramGuide e indica un’applicazione destinata ai decoderinterattivi (STB – set top box) e ai nuovi televisoridigitali (iDTV) per fornire l’elenco dei programmiattualmente diffusi o di prossima programmazionesui 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. 4. ObiettivoSviluppare un’applicazione Java MHP di EPG dei canalitrasmessi ad una stessa frequenza (mux) con contenutimultimediali aggiuntivi.Scenario applicativo Segnale digitale terrestre Broadcaster TV Xlet Set Top Box Application Manager 4
  5. 5. Standard DVBLo standard DVB definisce le metodologie di trasmissionedel 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 lostandard DVB si divide in alcuni sottostandard: DVB-S (Satellite) DVB-T (Terrestrial) DVB-C (Cable) DVB-H (Handheld) 5
  6. 6. Standard di compressione MPEG-2Lo standard di compressione audio/video MPEG-2 èalla base dello standard DVB-T per le trasmissioni televisivedigitali le quali non sarebbero possibili senza una riduzionedella quantità di dati per rappresentare le informazioni. 6
  7. 7. Composizione Transport StreamIl Transport Stream è un flusso composto da più servizi ognunodei quali è formato da uno o più eventi.Ogni evento è composto da stream elementari audio,video edati codificati. 7
  8. 8. Tabelle PSI / SIGli standard DVB-SI e MPEG-2 definiscono delle tabelleinformative 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-2BAT – Bouquet Association TableSDT – Service Description Table Tabelle SI (ServiceEIT – Event Information Table Information) definiteRST – Running Status TableTDT – Time Date Table da DVB-SITOT – Time Offset Table 8
  9. 9. Tabelle EITAll’interno delle tabelle EIT vengono inserite leinformazioni relative agli eventi in programmazionesui 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. 10. SezioniLe sezioni di una tabella condividono campi che ne permettonola sua identificazione univoca: table_id table_id_extension Dimensione massima tabelle: section_number 1024 byte tabelle PSI version_number 4096 byte tabelle DVB-SI DescrittoriSono 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. 11. Standard DSMCCPer la trasmissione di dati è stato definito lo standardDSMCC basato sullo stream MPEG-2. Tale standardè utilizzato quindi per trasmettere le applicazioni e lerisorse ai ricevitori. 11
  12. 12. Sistema trasmissivo OpenCasterSezione tabella EIT definita durante la sperimentazioneOpenCaster è un framework open-source per lagestione 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 broadcastE’ possibile modificare i dati delle tabelle informative delTransport Stream attraverso un file di configurazione pythonfornito da OpenCaster. 12
  13. 13. Sistema trasmissivo OpenCasterComandi necessari per mandare in onda un transport stream:1.oc-update2.tscbrmuxer3.tsstamp4.DtPlayoc-update permette di trasformare un filesystem in un DSMCCobject-carousel.tscbrmuxer permette di effettuare il multiplexing veroe proprio dei pacchetti TS ad un bit-rate predefinito e costante.tsstamp permette di sincronizzare gli stream audio/video in baseal bitrate complessivoDtPlay manda in onda il transport stream alla frequenza desiderata 13
  14. 14. Ambiente di sviluppo JMAG 14
  15. 15. Analisi dei casi d’usoRequisiti applicazione: guida televisiva dei canali presentiall’interno dello stesso mux e visualizzazione dei contenutimultimediali collegati agli eventi in programmazione. 15
  16. 16. Architettura applicazione “EPG-Client” EPGView Controller Model 16
  17. 17. API DVB-SILe richieste inviate allo stream tramite i metodi dellaAPI DVB SI sono asincrone.Metodi presenti all’interno della API per il recuperodelle informazioni dalle tabelle PSI/SI: retrieveActualSITransportStream retrieveSIServices retrieveSIPresent retrieveSIFollowing retrieveSISchedule retrieveSIDescriptors 17
  18. 18. API DVB-SILa API è event-source poiché restituisce un evento perogni richiesta effettuata allo stream. Gli eventi possonoessere di due tipi: eventi di successo o eventi di insuccesso.SISuccessfulRetrieveEvent – richiesta allo stream DVB avvenuta correttamenteSILackOfResourceEvent – richiesta non completata per mancanza di risorseSIRequestCancelledEvent – richiesta cancellataSITableNotFoundEventSIObjectNotInTableEvent informazione non trovataSINotInCacheEvent 18
  19. 19. API DVB-SIPer ogni chiamata effettuata alla API sono stati creatidalla classe HandlerFactory degli oggetti ascoltatori cherimangono in attesa delle risposte relative ai dati informatividelle differenti tabelle.• Handler1 – transport stream• Handler2 – servizi presenti• Handler3 – eventi• Handler4 – descrittori eventi• costrutto java synchronized 19
  20. 20. Diagramma di sequenza recupero dati EPG 20
  21. 21. Diagramma di sequenza recupero dati EPG 21
  22. 22. Diagramma di sequenza recupero dati EPG 22
  23. 23. File multimediali della guidaI file multimediali trasmessi nello stream collegati aglieventi 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. 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. 25. Recupero file dallo streamL’accesso al filesystem trasmesso in broadcast è statofondamentale per il recupero dei file multimediali di interesse.• API Davic• API DSMCC 25
  26. 26. Parser NanoXMLE’ una libreria Java utilizzata per effettuare il parsing di fileXml.Caratteristiche:• utilizzabile in sistemi embedded (KVM o J2ME)• parser Java di piccole dimensioni• veloce per piccoli documentiNell’applicazione è stata utilizzata la versione 1.6 poiché la2.1 più compatta (6KB) e veloce è risultata incompatibile conalcuni STB. 26
  27. 27. Selezione servizioUn servizio a livello logico è visto come una collezione di informazionidi servizio, stream audio/video e applicazioni che possono essere presentateinsieme come un’entità coerente. 27
  28. 28. Selezione servizioServiceContext è la classe che rappresenta l’ambiente in cui taliservizi sono presentati. 28
  29. 29. Diagramma di sequenza selezione servizio• API JavaTV Service Selection 29
  30. 30. Dimostrazione EPG-Client 30
  31. 31. Risultati sperimentaliDiPro Elsag Humax TelesystemInteract I Aries 1000H Combo 9000 TS7900HD Funzionamento applicazione EPG-Client 31
  32. 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 SISuccessfulRetrieSILackOfResource valEvent SISuccessful Generic contenente solo il RetrievalEvent event of primo failure evento 32
  33. 33. Applicazione lato server –“Guida TV” per la generazione del file di configurazione python 33
  34. 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 STBLimiti 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. 35. Sviluppi futuriMeccanismo automatico per la modifica delle tabelleEIT-present follow al termine di un evento su un canaletelevisivoCreazione di un database per l’inserimento di eventi entroun arco di tempo dei canali televisivi di un’emittente tv. 35

×