studio e sviluppo di un’applicazione mhp per la realizzazione di una guida tv (epg) evoluta
Post on 28-Jan-2015
114 Views
Preview:
DESCRIPTION
TRANSCRIPT
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
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
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.
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
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)
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.
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.
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
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
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 }
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.
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
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
Ambiente di sviluppo
14
JMAG
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.
Architettura applicazione “EPG-Client”
16
View Controller Model
EPG
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:
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.
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
Diagramma di sequenza recupero dati EPG
20
21
Diagramma di sequenza recupero dati EPG
22
Diagramma di sequenza recupero dati EPG
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
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.
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
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.
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.
28
Selezione servizioServiceContext è la classe che rappresenta l’ambiente in cui tali servizi sono presentati.
29
Diagramma di sequenza selezione servizio
• API JavaTV Service Selection
Dimostrazione EPG-Client
30
Risultati sperimentali
31
DiPro Interact I
Humax Combo 9000
Elsag Aries 1000H
TelesystemTS7900HD
Funzionamento applicazione EPG-Client
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
Applicazione lato server – “Guida TV” per la generazione del
file di configurazione python
33
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
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.
top related