studio e sviluppo di un’applicazione mhp per la realizzazione di una guida tv (epg) evoluta
DESCRIPTION
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 CasiniTRANSCRIPT
![Page 1: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/1.jpg)
Relatori:
Studio e sviluppo di un’applicazione MHP per la realizzazione di una
guida tv (EPG) evolutaTesi di laurea di
Marco Bartolozzi
Prof. Alessandro PivaDr. Roberto CaldelliIng. Rudy BecarelliDr. Paolo MazzantiIng. Matteo Casini 08 Aprile 2011
![Page 2: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/2.jpg)
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
![Page 3: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/3.jpg)
EPG
3
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.
![Page 4: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/4.jpg)
ObiettivoSviluppare un’applicazione Java MHP di EPG dei canali trasmessi ad una stessa frequenza (mux) con contenuti multimediali aggiuntivi.
4
Segnale digitale terrestre
Broadcaster
TV
Set Top Box
Scenario applicativo
Xlet
Application Manager
![Page 5: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/5.jpg)
Standard DVB
5
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)
![Page 6: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/6.jpg)
Standard di compressione MPEG-2
6
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.
![Page 7: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/7.jpg)
Composizione Transport Stream
7
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.
![Page 8: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/8.jpg)
Tabelle PSI / SI
8
Gli 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 NIT – Network Information Table CAT – Conditional Access Table
BAT – Bouquet Association Table SDT – Service Description Table EIT – Event Information Table RST – Running Status Table TDT – Time Date Table TOT – Time Offset Table
Tabelle PSI (Program Specific Information)definite da MPEG-2
Tabelle SI (Service Information) definite da DVB-SI
![Page 9: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/9.jpg)
Le tabelle EIT possono essere di due tipi: EIT present-follow: contengono le informazioni relative
all’evento attuale e successivo di un particolare servizio
Tabelle EIT
9
All’interno delle tabelle EIT vengono inserite leinformazioni relative agli eventi in programmazionesui servizi dello stesso transport stream.
EIT schedule: contengono informazioni relative agli eventi in programmazione entro un arco di tempo
![Page 10: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/10.jpg)
Sezioni
10
Dimensione massima tabelle: 1024 byte tabelle PSI 4096 byte tabelle DVB-SI
Le sezioni di una tabella condividono campi che ne permettonola sua identificazione univoca:
table_id table_id_extension section_number version_number
Descrittori
Le tabelle EIT definiscono due descrittori per fornire informazioniaggiuntive sugli eventi:
short_event_descriptor extended_event_descriptor
Sono composti da tre elementi identificativi: { tag, lenght, content }
![Page 11: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/11.jpg)
Standard DSMCC
11
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.
![Page 12: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/12.jpg)
Percorso file immagineall’interno del filesystemtrasmesso in broadcast
Sezione tabella EIT definita durante la sperimentazione
Sistema trasmissivo OpenCaster
12
E’ possibile modificare i dati delle tabelle informative delTransport Stream attraverso un file di configurazione python fornito da OpenCaster.
OpenCaster è 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
![Page 13: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/13.jpg)
Sistema trasmissivo OpenCaster
13
Comandi necessari per mandare in onda un transport stream:1.oc-update2.tscbrmuxer3.tsstamp4.DtPlay
tscbrmuxer permette di effettuare il multiplexing vero e proprio dei pacchetti TS ad un bit-rate predefinito e costante.
oc-update permette di trasformare un filesystem in un DSMCC object-carousel.
tsstamp permette di sincronizzare gli stream audio/video in baseal bitrate complessivo
DtPlay manda in onda il transport stream alla frequenza desiderata
![Page 14: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/14.jpg)
Ambiente di sviluppo
14
JMAG
![Page 15: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/15.jpg)
Analisi dei casi d’uso
15
Requisiti applicazione: guida televisiva dei canali presenti all’interno dello stesso mux e visualizzazione dei contenuti multimediali collegati agli eventi in programmazione.
![Page 16: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/16.jpg)
Architettura applicazione “EPG-Client”
16
View Controller Model
EPG
![Page 17: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/17.jpg)
API DVB-SI
17
Le richieste inviate allo stream tramite i metodi dellaAPI DVB SI sono asincrone.
retrieveActualSITransportStream retrieveSIServices retrieveSIPresent retrieveSIFollowing retrieveSISchedule retrieveSIDescriptors
Metodi presenti all’interno della API per il recuperodelle informazioni dalle tabelle PSI/SI:
![Page 18: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/18.jpg)
18
SISuccessfulRetrieveEvent – richiesta allo stream DVB avvenuta correttamente
SILackOfResourceEvent – richiesta non completata per mancanza di risorse
SIRequestCancelledEvent – richiesta cancellataSITableNotFoundEventSIObjectNotInTableEvent informazione non trovataSINotInCacheEvent
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.
![Page 19: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/19.jpg)
19
API DVB-SIPer 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
![Page 20: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/20.jpg)
Diagramma di sequenza recupero dati EPG
20
![Page 21: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/21.jpg)
21
Diagramma di sequenza recupero dati EPG
![Page 22: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/22.jpg)
22
Diagramma di sequenza recupero dati EPG
![Page 23: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/23.jpg)
File multimediali della guida
23
I file multimediali trasmessi nello stream collegati aglieventi sono tre:
file immagine (.gif, .jpg o .png)
file audio (.mp2)
file xml di descrizione estesa
Restrizioni standard MHP
Dimensioni limitatetabella EIT
![Page 24: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/24.jpg)
Struttura file xml
24
<?xml version="1.0" encoding="UTF-8"?> <descrizione>
<trama> </trama><cast> </cast><regista> </regista><recensioni>
<recensione><autore> </autore><desc> </desc>
</recensione>…
</recensioni><info> </info><curiosita> </curiosita>
</descrizione>
UTF-8: codifica standard che comprendeun set completo di caratteri inclusi caratteri speciali e lettere accentate.
![Page 25: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/25.jpg)
Recupero file dallo stream
25
L’accesso al filesystem trasmesso in broadcast è stato fondamentale per il recupero dei file multimediali di interesse.
• API Davic• API DSMCC
![Page 26: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/26.jpg)
Parser NanoXML
26
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é la2.1 più compatta (6KB) e veloce è risultata incompatibile con alcuni STB.
E’ una libreria Java utilizzata per effettuare il parsing di fileXml.
![Page 27: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/27.jpg)
Selezione servizio
27
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.
![Page 28: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/28.jpg)
28
Selezione servizioServiceContext è la classe che rappresenta l’ambiente in cui tali servizi sono presentati.
![Page 29: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/29.jpg)
29
Diagramma di sequenza selezione servizio
• API JavaTV Service Selection
![Page 30: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/30.jpg)
Dimostrazione EPG-Client
30
![Page 31: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/31.jpg)
Risultati sperimentali
31
DiPro Interact I
Humax Combo 9000
Elsag Aries 1000H
TelesystemTS7900HD
Funzionamento applicazione EPG-Client
![Page 32: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/32.jpg)
Applicazione EPG - Schedule
32
E’ stata sviluppata inoltre un’altra applicazione con la stessa struttura di EPG-Client per il recupero delle informazioni suglieventi in programmazione entro un arco di tempo compreso fra due date.
retrieveSIPresentretrieveSIFollowing retrieveSISchedule
Metodi API DVB SI:
DiPro Interact I
Humax Combo 9000
Elsag Aries 1000H
TelesystemTS7900HD
SILackOfResourceSISuccessfulRetrievalEventcontenente solo il primo evento
SISuccessfulRetrievalEvent
RetrieveSISchedule RetrieveSIActualTransportStream
Genericevent of failure
![Page 33: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/33.jpg)
Applicazione lato server – “Guida TV” per la generazione del
file di configurazione python
33
![Page 34: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/34.jpg)
Conclusioni
34
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
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
![Page 35: Studio e sviluppo di un’applicazione MHP per la realizzazione di una guida tv (EPG) evoluta](https://reader033.vdocuments.mx/reader033/viewer/2022051314/54c8e85a4a79594e588b4573/html5/thumbnails/35.jpg)
Sviluppi futuri
35
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.