Progetto e sviluppo di un portale “MHP” per erogare

Transcript

Progetto e sviluppo di un portale “MHP” per erogare
UNIVERSITÀ POLITECNICA DELLE MARCHE
FACOLTÀ DI INGEGNERIA
CORSO DI LAUREA IN INGEGNERIA
DELLE TELECOMUNICAZIONI
Progetto e sviluppo di un portale “MHP”
per erogare servizi sociosanitari sul
Digitale Terrestre
Relatore :
Prof. Aldo Franco DRAGONI
Tesi di Laurea di :
Maritan Fabio
Anno Accademico 2006-2007
PROGETTO E SVILUPPO DI UN PORTALE “MHP”
PER EROGARE SERVIZI SOCIOSANITARI SUL DDT
INDICE
Introduzione................................................................................................................9
Capitolo 1
La TV digitale: Upgrade tecnologico e nuovo scenario competitivo..................11
1.1 Struttura e servizi della TV digitale..........................................................11
1.1.1 Architettura di funzionamento...........................................................12
1.1.2 Ruoli e condizioni..............................................................................13
1.1.3 I servizi offerti...................................................................................15
1.2 L'interattività.............................................................................................16
1.2.1 Supporto canale sicuro......................................................................17
1.3 One-stop-shopping, leve delle domanda...................................................18
1.3.1 I confini del business televisivo si allargano....................................21
1.3.2 Diffusione della TV digitale in Italia...............................................25
1.4 Contesto normativo in Italia......................................................................29
1.4.1 Legge Gasparri.................................................................................31
1.4.1.1 L'iter legislativo.....................................................................31
1.4.1.2 La legge definitiva.................................................................32
1.4.1.3 Critiche alla legge..................................................................33
1.4.1.4 bocciatura da parte dell' UE...................................................33
Capitolo 2
Standard di riferimento e tecnologie per la TV ....................................................35
2.1 Lo standard DVB (Digital Video Broadcasting).......................................35
2.2 DVB-C (Cable).........................................................................................37
2.3 DVB-S2 (Satellite 2nd generation)...........................................................39
2.4 DVB-T (Terrestrial)..................................................................................41
2.4.1 Le specifiche DVB-T: modulazione e codifica di canale……41
2.5 DVB-H: La TV si fa portatile ..................................................................44
2.5.1 Definizione del sistema DVB-H............................................46
2
INDICE
Capitolo 3
Lo standard MHP……………………………………………………….…………49
3.1 Applicazioni DVB-J e DVB HTML.........................................................50
3.2 Xlet............................................................................................................51
3.3 Analisi e gestione delle risorse scarse.......................................................53
3.4 Modello grafico.........................................................................................54
3.4.1Background layer............................................................................56
3.4.2 Video layer.....................................................................................57
3.4.3 Graphics layer................................................................................58
3.5 Il telecomando: strumento per l'interattività……….................................60
Capitolo 4
Ambiente di sviluppo………………………………...…………………………..62
4.1 Definizione degli strumenti di lavoro.......................................................62
4.2 Simulatore XletView.................................................................................63
4.3 Set Top Box da sviluppo ADB X-75........................................................65
4.3.1 Caratteristiche Tecniche................................................................67
4.3.2 Procedure di aggiornamento del Firmware...................................69
4.3.3 UpLoad e debug di un’applicazione..............................................70
4.3.4 Xlet description file.......................................................................72
Capitolo 5
Realizzazione del Portale Informativo……………………………...…………….74
5.1 Problematiche di accessibilità...................................................................74
5.1.1 Disabilità Visive...........................................................................74
5.1.2 Disabilità Uditive..........................................................................75
5.1.3 Disabilità Motorie.........................................................................76
5.1.4 Disabilità Neuro-Cognitive...........................................................77
3
INDICE
5.2 Elementi di Usabilità del Web adattabili alle applicazioni MHP.............77
5.3 Scelta dei contenuti e analisi della struttura..............................................80
5.4 Descrizione del portale e debug degli errori.............................................82
5.5 Analisi di confronto tra applicativi in ambito Sanitario............................87
5.5.1 Analisi del contenuto...................................................................87
5.6 Sviluppi futuri...........................................................................................90
Conclusioni.................................................................................................................91
Ringraziamenti..........................................................................................................93
Appendice A: Codice Xlet.........................................................................................95
Appendice B: Guida alla realizzazione di un laboratorio per il DDT…………107
Siti e bibliografia......................................................................................................109
4
PROGETTO E SVILUPPO DI UN PORTALE “MHP”
PER EROGARE SERVIZI SOCIOSANITARI SUL DDT
INDICE DELLE FIGURE GRAFICI E TABELLE
Figura 1. Architettura generale della TV interattiva.
Figura 2. Interazioni tra i soggetti del sistema DTT.
Figura 3. Fonte: Elaborazioni Busacca & Associati su dati EITO.
Figura 4. Fattori concorrenziali del nuovo mercato televisivo.
Figura 5. Stima di penetrazione di Internet e TV digitale sulla popolazione
nazionale. Base: settembre 2004.
Figura 6. Confronto in frequenza tra gli spettri analogico e digitale terrestre.
Figura 7. Convivenza degli spettri analogico e digitale terrestre.
Figura 8. Penetrazione DVB-C nel mondo.
Figura 9. Diagramma a blocchi funzionale del sistema DVB-C.
Figura 10. Penetrazione DVB-S nel mondo.
Figura 11. Diagramma a blocchi funzionale del sistema DVB-T.
Figura 12. Penetrazione DVB-T nel mondo.
Figura 13. Il segnale OFDM nel dominio del tempo e della frequenza.
Figura 14. Rappresentazione nel dominio del tempo e della frequenza
di un simbolo C-OFDM.
Figura 15. Esempio di terminale DVB-H.
Figura 16. Struttura di un ricevitore DVB-H.
Figura 17. Architettura dell'MHP.
Figura 18. Profili dell'MHP.
Figura 19. Ciclo di vita di una Xlet.
Figura 20. Layer grafici dell'MHP.
Figura 21. Definizione della Safe Area su di un monitor a definizione standard.
Figura 22. Directory XletView.
Figura 23. Finestra principale XletView.
Figura 24. Finestra di debug XletView.
Figura 25. Ambiente di sviluppo.
Figura 26. Finestra FastTerm.
Figura 27. Struttura base del servizio.
5
INDICE FIGURE GRAFICI E TABELLE
Figura 28. Esempio di acquisizione dell'informazione richiesta.
Figura 29. . Esecuzione della Xlet e tasto pilota.
Figura 30. Esecuzione della Xlet e scomparsa del tasto pilota.
Figura 31. Pagina d'ingresso del portale.
Figura 32. . Esempio di navigazione.
Figura 33. Ricerca farmacia zona centro.
Figura 34. Portale d'accesso ai numerosi servizi interattivi.
Figura 35. Pagina iniziale della Xlet Lombarda.
Figura 36. Informazioni sulla carta.
Figura 37. Procedura di autenticazione.
Figura 38. Ricerca per capoluoghi.
Figura 39. Servizi che necessitano dell'autenticazione forte.
Tabella 1. Classificazione dei servizi secondo la categoria.
Tabella 2. Classificazione dei servizi secondo CdR.
Tabella 3. Elenco eventi del telecomando.
Tabella 4. Componenti e caratteristiche del ADB X-75.
Grafico1. Uso dei dispositivi tecnologici. Base: 3504 intervistati.
Dati in percentuale.
Grafico 2. Base:339 utilizzatori della Smart-Card per il DDT.
Dati in percentuale.
Grafico 3. Base:339 Programma più seguiti dagli utilizzatori del DTT.
Dati in percentuale.
Grafico 4. Frequenza di utilizzo del CdR. Base 339 utilizzatori del DT.
Grafico 5. Utilizzo di applicazioni per la PA. Base 339 utilizzatori del DT.
6
PROGETTO E SVILUPPO DI UN PORTALE “MHP”
PER EROGARE SERVIZI SOCIOSANITARI SUL DDT
ACRONIMI
ACM
Application Configuration Acces Protocol
ADSL
Asymmetric Digital Subscriber Line
API
Application Programming Interface
APSK
Amplitude and Phase Shift Keying
CA
Condizional Access
CATI
Computer Aided Telephone Interviewing
CENELC
Comitè Europeèen de Normalization Eletrotechnique
CIF
Common Intermediate Format
COFDM
Coded Orthogonal Frequency Division Multiplexing
CPU
Central Processing Unit
CSS
Cascaling Style Sheets
DAB
Digital Audio Broadcasting
DOM
Document Object Model
DTT
Digital Terrestrial Television
DVB
Digital Video Broadcasting
DVB-C
Digital Video Broadcasting - Cable
DVB-S2
Digital Video Broadcasting – Satellite 2nd generation
DVB-T
Digital Video Broadcasting - Terrestrial
DVB-H
Digital Video Broadcasting- Handheld
EBU
European Broadcasting Union
EDGE
Enhanced Data Rates for Global Evolution
EEPROM
Elettrically Eresable Programmable Read Only Memory
EPG
Eletronic Program Guide
EPT
Equivalent Protection Target
ESG
Eletronic Service Guide
ETSI
European Telecomumnication Standard Institute
FEC
Forward Error Correction
GPRS
General Packet Radio System
HDTV
High Definition TeleVision
HTML
HyperText Markup Language
7
ACRONIMI
HTTP
HyperText Transfer Protocol
I-FFT
Inverse Fast Fourier Transform
IP
Internet Protocol
ISI
Inter Symbol Interface
ISO
Internation Standard Organization
JTC
Joint Techical Committee
LDPC
Low Density Parity Check
MDTV
Metro Digital Television
MHP
Multimedia Home Platform
MFN
Multi-Frequency Network
MPEG
Moving Pictures Esxpert Group
MUX
Multiplexer
QAM
Quadrature Amplitude Modulation
QCIF
Quarter Common Intermediate Format
QPSK
Quadrature Phase Shift Keying
RAM
Random Acces Memory
RS
Reed Solomon
SDTV
Standard Definiton TeleVision
SFN
Single Frequency Network
SNG
Satellite News Gathering
STB
Set Top Box
TCP
Trasmission Control Protocol
T-DMB
Terrestrial – Digital Multimedia Broadcasting
TPS
Transaction Per Second
TS
Transport Stream
UHF
Ultra High Frequency
VHF
Very High Frequency
VOD
Video On Demand
XML
Extendable Markup Lenguage
XHTML
Extendable HyperText Markup Lenguage
8
INTRODUZIONE
INTRODUZIONE
La tecnologia digitale ci circonda da molti anni, basta pensare ai computer, alle
fotocamere e molti elettrodomestici. Il mondo televisivo, però, è rimasto per lungo
tempo fuori da processi d’innovazione tecnologica. La televisione che abbiamo visto
tramite la nostra antenna di casa fino a questi mesi di transizione, è una TV il cui
segnale trasmesso è analogico. Il sistema analogico prevede un segnale elettronico
trasmesso sotto forma di una portante radio, che varia in modo continuo, per la
trasmissione di immagini in movimento e suoni. Oggi, il segnale televisivo
analogico, sta tramontando definitivamente. Esso viene sostituito da un codice
binario che presenta migliori caratteristiche di robustezza rispetto alle interferenze e
minor banda occupata nello spettro elettromagnetico. L’unica cosa di cui
necessitiamo è un Set Top Box, il dispositivo atto a ricevere il segnale digitale: esso
si basa su una Java Virtual Machine che integra le funzionalità di controllo dei flussi
audio/video necessarie per operare nell’ambiente televisivo. Un’applicazione, perno
fondamentale di questo lavoro di tesi, non è altro che un programma scritto in Java
che utilizza le risorse hardware e software presenti nel STB. La Tv Digitale Terrestre
è quindi un sistema di trasmissione del segnale audio e video mediante un algoritmo
numerico di compressione (MPEG) adottato da uno standard di riferimento (DVBT), che avviene via etere tra un ripetitore e l’altro, fino a giungere alla nostra antenna
di casa. Lo spettro di frequenza è utilizzato in maniera efficiente: riusciamo a
trasmettere fino a 4 o 5 canali TV occupando la stessa banda di frequenza utilizzata
da un singolo canale analogico; ciò si traduce in una moltiplicazione dei canali senza
alcun costo aggiuntivo per l’utente e con migliori caratteristiche audio e video.
Importanti innovazioni tecnologiche, inoltre, sono oggi introdotte nelle case di tutti;
tra esse le più significative sono la multimedialità e l’interattività. La TV diventa
portale di accesso a più servizi, prevede una personalizzazione dei programmi e dei
servizi stessi, supporta attività ricreative, giochi, Video on Demand, permette di
interagire con programmi in tempo reale tramite il telecomando e tanto altro.
L’interattività richiede che il Set Top Box sia collegato ad un Canale di Ritorno, che
permette una interazione a ritroso tra il telespettatore ed una parte server.
9
ITRODUZIONE
Essendo, infine, il mezzo televisivo molto diffuso, con l’introduzione della TV
digitale si punta a sollecitare il processo di alfabetizzazione informatica su ampia
scala. L'obbiettivo di questo lavoro è stato quello di realizzare, dopo un attento studio
dei contenuti e delle specifiche richieste, un portale informativo conforme allo
standard DVB-MHP per conto della Azienda Sanitaria A.S.U.R. Zona 7 di Ancona.
10
CAPITOLO 1.
Capitolo 1
LA TV DIGITALE: UPGRADE TECNOLOGICO E NUOVO SCENARIO
COMPETITIVO
Un grande passo in avanti nel processo di trasformazione in digitale dei principali
flussi informativi è stato fatto con l’adozione di un sistema di trasmissione numerico
per gestire quello che oggi rimane il più grande mezzo di comunicazione: la
televisione. Le prime prove di trasmissioni televisive digitali sono iniziate già negli
anni settanta negli Stati Uniti e dal 1998 in Inghilterra. L’Italia, come altri paesi
europei, ha previsto un passaggio definitivo dalla trasmissione analogica a quella
digitale (cosiddetto Switch-Off) entro il 30 novembre 2012. Questo significa
innanzitutto che dovremo essere dotati di un ricevitore per segnali digitali, ovvero un
decoder (o Set Top Box). In questo capitolo vengono presentati i fattori sui quali si
fonda la TV interattiva, quali i nuovi servizi, le tecnologie di supporto e l’evoluzione
delle stesse fino alle Smart Cards, che aprono le porte all’autenticazione e alla
sicurezza. Infine il contesto normativo in Italia, la definizione dei ruoli e lo scenario
attuale.
1.1 Struttura e servizi della TV digitale
Il passaggio alla TV digitale segna, anzitutto, l’arrivo dell’interattività. Questa
innovazione è presentata nelle sue caratteristiche per mezzo dei seguenti profili:
• Enhanced TV: è caratterizzata da applicazioni interattive che
arricchiscono il programma con contenuti aggiuntivi correlati
(testo, immagini fisse, video aggiuntivo) e che permettono
forme
progressive
di
interazione
(sondaggio, voto, partecipazione a giochi);
11
del
telespettatore
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
• Interactive TV: prevede l’interazione con i Centri di servizi
relativi alle applicazioni attraverso Canale di Ritorno (ad es.
per mezzo di modem integrato nel decoder); l’utente può
usufruire di servizi come pagamenti o prenotazioni;
• Internet on TV: prevede l’accesso ai servizi internet tramite
Canale di Ritorno;
• Personal TV: consente la personalizzazione dal punto di vista
della scelta dei programmi e dell’ora di inizio;
• Connected TV: per mezzo del terminale televisivo si gestisce
una condivisione di file con altri dispositivi domestici digitali
presenti in casa.
1.1.1 Architettura di funzionamento
Alla base del funzionamento della TV interattiva vi è, innanzitutto, un flusso di
contenuti da trasmettere: esso è composto da:
• programmi TV, che contengono flussi audio, video e dati supplementari;
• Informazioni di Servizio (SI);
• Informazioni per l’Accesso Condizionato (CA);
• flusso relativo alla Guida Elettronica dei Programmi (EPG).
Grazie alla tecnica di compressione MPEG-2, l’informazione contenuta in questo
flusso di dati rimane pressoché inalterata pur riducendo notevolmente il bitrate.
Questo porta necessariamente vantaggi in termini di banda e quindi di canali
trasmessi pur migliorandone la qualità. Il multiplexer è previsto per combinare i
flussi di dati provenienti dall’emittente televisiva per mezzo del fornitore di
contenuti con quelli provenienti dall’authoring che genera le applicazioni MHP,
12
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
generando in uscita un flusso propriamente detto MPEG-2 Transport Stream (TS).
Solo i contenuti personalizzati necessitano di collegamento al Canale di Ritorno per
essere prelevati; i contenuti comuni per tutti gli utenti sono trasmessi in broadcast
grazie all’utilizzo di multiplexer trasmessi in aria nei quali coesistono informazioni
multimediali e flussi informativi di diversa natura.
Figura 1. Architettura generale della TV interattiva
1.1.2 Ruoli e condizioni
Nel sistema televisivo digitale coesistono tre figure fondamentali la cui definizione
regolamentare è la seguente:
• Operatore di Rete broadcast: è il soggetto titolare del diritto di
installazione,
esercizio
e
fornitura
di
una
rete
di
comunicazioni elettroniche, degli impianti di messa in onda,
multiplazione, distribuzione, diffusione e delle risorse
13
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
frequenziali; deve quindi progettare, installare ed esercire la
rete per la diffusione del segnale DTT su un territorio di
competenza;
• Fornitore di contenuti: è il soggetto che ha la responsabilità
editoriale nella predisposizione dei programmi destinati alla
radiodiffusione
digitale
televisiva
e
sonora,
quindi
predispone e gestisce il palinsesto, cioè i programmi che
vengono mandati in onda sotto un unico marchio;
• Fornitore di servizi: è colui che, attraverso l’infrastruttura
dell’ Operatore di Rete, fornisce servizi di accesso
condizionato mediante distribuzioni di chiavi numeriche (atte
ad abilitare la visione dei programmi e la fatturazione dei
servizi) e l’offerta di servizi di guida elettronica dei
programmi (EPG).
Figura 2. Interazioni tra i soggetti del sistema DTT
14
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
1.1.3 I servizi offerti
Il processo di creazione di servizi nell’ambito della TV digitale è nel pieno dello
sviluppo, infatti con il migliorare delle prestazioni del Set Top Box e sopratutto
sfruttando migliori tecnologie di realizzazione del canale di ritorno (oggi, nella
maggior parte dei casi, realizzato tramite semplice modem telefonico), si prevede un
ulteriore incremento di servizi, di possibilità e della relativa qualità; tuttavia già oggi,
come sopra accennato, abbiamo una evidente innovazione nei possibili servizi:
• Electronic Program Guide (EPG): rappresenta una sorta di
guida di orientamento ad alto livello per il telespettatore con
funzioni di ricerca dei contenuti per costruzione di liste di
programmi preferiti o ricerca della programmazione ad una
determinata ora del giorno. In un ampio bouquet offerto dagli
operatori di TV, tende ad essere un vero e proprio motore di
ricerca;
• Pay per View: prevede che il set top box venga abilitato a
visualizzare un determinato evento TV, altrimenti non
disponibile, per mezzo di pagamento. Questo meccanismo
viene definito Conditional Access System (CAS);
• Servizi informativi e sociali: in questa categoria sono inclusi i
servizi di T-Commerce che prevedono televendite e acquisti
attraverso la TV; servizi di T-Banking tramite portale
informativo che prevede la fornitura di servizi come l’Home
Banking; servizi di T-Government, ossia offerta di servizi di
pubblica utilità ; inoltre servizi di meteo, oroscopo, viabilità e
servizi in ambito locale (cinema, farmacie, ecc.);
• Personal Video Recording (PVR): per questo servizio è
richiesto un set top box munito di hard-disk da utilizzare come
supporto di memoria per la videoregistrazione in digitale di
15
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
contenuti audiovisivi o per effettuare download di giochi finora
disponibili solo su PC e Playstation;
• Interactive advertising: prevede che l’utente, oltre che
interagire con le trasmissioni televisive in tempo reale, possa
personalizzare il flusso pubblicitario, nonché interagire con
esso
richiedendo
all’acquisto
maggiori
del
prodotto,
informazioni
o
procedendo
compatibilmente
con
la
programmazione televisiva.
1.2 L’interattività
Il settore dei servizi interattivi su DTT è senza dubbio il campo soggetto al maggiore
sviluppo. Ciò è particolarmente importante per paesi come l’Italia o la Spagna che,
pur essendo piuttosto evoluti sul fronte dell’offerta televisiva in termini di densità di
reti e capacità di sviluppo di nuovo format, hanno avuto nel corso degli anni una
innovazione di prodotto confinata agli aspetti di contenuto televisivo. E’ il supporto
all’interattività
e
alla
multimedialità.
Come
già
accennato,
per
gestire
un’applicazione interattiva, il Set Top Box deve essere collegato ad un Canale di
Ritorno. Esso è un canale bidirezionale che realizza un’interazione tra il
telespettatore ed una parte server (Centro Servizi) relativa ad una qualsivoglia
applicazione interattiva.
Oggi, nella maggior parte dei casi, il CdR è realizzato con il supporto di un semplice
modem telefonico interno al decoder, tuttavia tecnologie migliori stanno facendo il
loro ingresso nel mercato, è il caso di Ethernet o ADSL, ma anche di interfacce
radiomobili per accesso a rete GPRS, con la possibilità di svincolarsi dal cablaggio.
Un alto grado di interattività e di personalizzazione è possibile solo con l’utilizzo del
CdR, soprattutto se la capacità di canale è a larga banda.
16
CAPITOLO 1.
1.2.1
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
SSL : supporto per canale sicuro
Secure Sockets Layer (SSL) è un protocollo progettato dalla Netscape
Communications Corporation, autrice del famoso browser Netscape Navigator per
realizzare comunicazioni cifrate su Internet. Nasce come base di sviluppo del
protocollo TLS (Transport Layer Security) [1]. L' MHP (Multimedia Home
Platform), cioè lo standard che definisce l’interfaccia tra le applicazioni interattive
digitali e il Set Top Box, fornisce il supporto per canale sicuro SSL (esso è
indispensabile, ad esempio, in applicazioni T- Commerce o T-Banking).
Questo protocollo utilizza la crittografia per fornire sicurezza nelle comunicazioni e
consente alle applicazioni client/server di comunicare in modo tale da prevenire il
“tampering” (manomissione) dei dati, la falsificazione e l'intercettazione. Scopo
primario di SSL è fornire sistemi di crittografia per comunicazioni affidabili e
riservate, ad esempio in applicazioni quali la posta elettronica, e sistemi di
autenticazione [2] [3].
Il protocollo SSL provvede alla sicurezza del collegamento garantendo:
• Privatezza del collegamento: la crittografia è usata dopo un
handshake iniziale per definire una chiave segreta. Per
crittografare i dati è usata la crittografia simmetrica (DES,
RC4, ecc.);
• Autenticazione: l'identità nelle
connessioni può essere
autenticata usando la crittografia asimmetrica, ovvero a
chiave pubblica (RSA, DSS, ecc). Così ogni client comunica
in sicurezza con il corretto server, prevenendo ogni
interposizione. È prevista la certificazione del server e,
opzionalmente, quella del client;
17
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
• Affidabilità: il livello di trasporto include un controllo
dell’integrità del messaggio basato su un apposito MAC
(Message Authentication Code) che utilizza funzioni hash
sicure (SHA, MD5, ecc). In tal modo si verifica che i dati
spediti tra client e server non siano stati alterati durante la
trasmissione.
I protocolli di sicurezza si collocano sotto protocolli applicativi quali HTTP, SMTP e
NNTP e sopra il protocollo di trasporto TCP. SSL può essere utilizzato per
aggiungere sicurezza a qualsiasi protocollo che utilizza TCP, ma il loro utilizzo più
comune avviene nel protocollo HTTPS che oggi rende possibile applicazioni quali il
commercio elettronico. SSL utilizza metodi di cifratura a chiave pubblica e certificati
a chiave pubblica per verificare l'identità delle parti coinvolte.
Le fasi basilari richieste sono:
• Negoziazione tra le parti dell’algoritmo da utilizzare;
• Scambio di chiavi
segrete tramite cifratura a
chiave pubblica e
identificazione tramite l’utilizzo di certificati;
• Cifratura del traffico tra le parti a chiave (segreta) simmetrica;
Le implementazioni moderne utilizzano chiavi per la cifratura simmetrica a 128 bit o
più.
1.3 One-stop-shopping, leve delle domanda
Ad oggi gli scenari di TV interattiva sono molteplici. Nelle tabelle che seguono è
presentata una possibile classificazione di alcuni servizi interattivi secondo la
categoria e secondo il tipo di CdR.
18
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
Servizi Informativi
Servizi Interattivi
Pubblicità on-demand,
EPG evoluta
EPG profilata
Servizi transazionali
T-commerce di beni fisici
Browising dati ipetestuali
Comunicazione testuale,
T-commerce di media
in locale
communities
(es: musica, film)
Teleprenotazioni, richiesta
Sportelli informativi
informazioni, sportelli
T-banking
opwrativi
Pubblicità interattiva
Tele-educational, T- games Scommesse, CAsinò
Tabella 1. Classificazione dei servizi secondo la categoria
Nessun CdR
CdR minimale
CdR broadband
Home Shopping
Televoto, quiz con
Browsing archivi A/V,
con smart-card prepagata
partecipazione in diretta
VoD, news on demand
Instant messanging, chat,
Games multiplayer,
e-mail
videocommunities
Games e quiz in locaele
Database locali (es:
T-governnment, T-
enhanced, teletext,
banking, T-commerce (con T-learning
supertelevideo...)
credit card)
Software download
Concorsi, pronostici e
Consumo TV
scommesse
personalizzato
Tabella 2. Classificazione dei servizi secondo CdR
Quindi il modello al quale si ispira la TV interattiva è quello di un consumatore che,
comodamente seduto sulla poltrona di casa, può accedere con semplicità ad un
portale convergente, così da realizzare un modello completo di one-stop shop
19
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
integrato che apre il mercato della TV ad altri mercati oggi non necessariamente ICT.
L’insieme dei servizi che permettono l’interazione con fornitori terzi è estremamente
vasto e può andare dalla fornitura di certificati anagrafici, ai servizi di Home
Banking, alla vendita di beni fisici, alla raccolta di scommesse e/o di concorsi
pronostici. Sono tutti servizi accomunati dalla necessità di utilizzare delle funzioni in
grado di appurare l’identità della persona che richiede il servizio, o quanto meno
avere la garanzia della sua solvibilità economica. Queste funzioni si mappano in
modo naturale sull’utilizzo appropriato di una Smart Card.
Vi sono però importanti aree di criticità che devono essere risolte perché si
concretizzino le previsioni della domanda di questi servizi. In particolare sembra
opportuno, prima del lancio del servizio sul mercato, trovare adeguate risposte ad
alcuni quesiti chiave:
• Quali i segmenti target e la relativa penetrazione attesa? Un
lancio indifferenziato e generalizzato potrebbe confondere il
mercato generando una sorta di “ingolfamento” d’offerta, là
dove sarebbe opportuna una scrematura dei bisogni effettivi
da coprire e di quelli latenti da sollecitare.
• Quale il set di servizi realmente remunerativo? A seguito
dell’analisi dei segmenti di domanda sarà necessario definire
l’insieme di servizi remunerativi per l’investimento e, a
completamento della gamma, le complementari offerte
civetta; la composizione degli uni e degli altri varierà in
funzione del target da definire.
• Quale il modello di pricing per il bundle di servizi complessi?
È ragionevole attendersi che il paniere di servizi interattivi
contenga beni con elasticità al prezzo e funzioni di utilità
anche
molto
eterogenee
tra
loro,
pertanto
risulta
particolarmente delicato il meccanismo di definizione del
20
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
prezzo (a consumo? su canone? con fee per il servizio?), dal
quale deriverà l’elasticità della domanda e conseguentemente
la concreta possibilità di remunerazione del servizio.
1.3.1 I confini del business televisivo si allargano
Come per la domanda, anche il modello dell’offerta televisiva subisce una profonda
evoluzione a seguito dell’ampliamento della gamma conseguente all’interattività.
L’operatore TV potrà trovare nuove opportunità di ricavo dalle seguenti aree di
business:
• revenue sharing con operatori tlc per il traffico di ritorno
(anche e-mail,
videocomunicazione,…);
• fee da vendite on line, quali remunerazioni per l’attività di un
nuovo canale distributivo;
• fee per l’attività di noleggio spettacoli/videogame on demand;
• compensation per l’attività di ricerche di mercato on line;
•
revenue derivanti dall’affitto frequenze a provider che
intendono entrare nel settore on demand.
La catena del valore alla quale gli operatori si dovranno ispirare è quindi quella
decritta nello schema che segue.
21
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
Modello di catena del valore del digitale interattivo
Figura 3. Fonte: Elaborazioni Busacca & Associati su dati EITO
Accanto alla tradizionale attività di carrier televisivo, l’operatore Digitale Terrestre
sarà chiamato alla fornitura di nuovi sevizi e nuovi contenuti. In questo caso andrà
approfondito il modello di business di fornitura dei con- tenuti, là dove il carrier
potrà optare per soluzioni make (nel caso di grandi operatori che progettano
editorialmente e/o realizzano il contenuto) oppure soluzioni buy (dove il piccolo
operatore acquista soluzioni preconfezionate da provider esterni). La nuova catena
del valore per l’operatore televisivo comporterà un notevole incremento della
competizione nel settore, ampliando il peso delle forze competitive:
•
Intensità
della concorrenza. L’acquisizione
di quote
pubblicitarie, che oggi determina il business degli operatori
TV, sarà solo una delle possibili fonti di reddito e quindi
l’incremento
della
competizione
risulterà
proporzionale
all’aumento delle fonti di ricavo;
• Nuovi entranti. La competizione si allargherà a tutti i fornitori
di contenuti e di servizi on demand. Si pensi alla possibilità
22
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
che grandi catene home video aggiungano al canale
tradizionale propri canali televisivi (ciò potrebbe essere vero
anche per le banche?);
•
Prodotti sostitutivi. Internet resterà sicuramente un canale
privilegiato per fruire di servizi on demand almeno per i
segmenti che pur appartenendo al target consumer trovano più
comodo e conveniente l’utilizzo del PC piuttosto che della TV
•
Forza
contrattuale
dei
fornitori.
Le
grandi
major
cinematografiche e le grandi catene distributive costituiranno
degli interlocutori con un elevato potere contrattuale
(proporzionale alle loro dimensioni, spesso intercontinentali);
• Forza contrattuale dei clienti. Il cliente consumer acquisirà forza
contrattuale se potrà discriminare tra gli operatori sulla base di
formule contrattuali flessibili; è il caso del prepagato come
formula di pagamento.
Il modello competitivo è sintetizzato di seguito.
Figura 4. Fattori concorrenziali del nuovo mercato televisivo
23
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
Anche per quanto riguarda l’offerta, vanno segnalate alcune aree di criticità e i
relativi quesiti chiave:
• Quale la gamma concreta di servizi aggiuntivi da porre sul mercato
dell’interattività? È innanzitutto necessario individuare una gamma
completa e non ridondante di contenuti/servizi innovativi e interattivi,
rispetto alla semplice trasposizione in digitale dei palinsesti analogici.
• Quale il grado di esternalizzazione dei nuovi servizi? Il lancio di nuovi
servizi implica la costruzione di un modello di business ad hoc. Per
ciascun servizio occorrerà definire il modello meno rischioso di
fornitura, che implica cioè il giusto trade off tra investimenti,
immobilizzazioni e flussi di cassa, dato il livello di rischio
imprenditoriale accettato.
• Quale il grado di interattività effettiva? Si tratta di definire quali
servizi e quali attività realmente interattive sono supportate
dall’attuale tecnologia di trasmissione delle reti fisse e mobili.
• Quale il concreto posizionamento strategico del Digitale Terrestre sul
mercato? E’ indispensabile definire gli ambiti di marketing del
Digitale Terrestre e i relativi confini con satellite, cavo, Internet,
trasmissioni ADSL, … Un posizionamento privo della necessaria
chiarezza strategica potrebbe generare confusione nel consumatore per
duplicazioni e cannibalizzazioni.
• Quale il ruolo delle grandi major e delle grandi catene home video sul
mercato DTT? E’ indispensabile infine chiarire i ruoli di fornitura e
competizione con i grandi potenziali competitor del Digitale Terrestre
(partnership strategiche? collaborazioni di fornitura? conflitto aperto
sulle stesse fasce di mercato?).
24
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
1.3.2 Diffusione della TV digitale in Italia
Nei paragrafi precedenti si è andato ad analizzare tutte le potenzialità che la nuova
tecnologia porta intrinsecamente dentro se, ma questa attesa rivoluzione c'è stata, o
ancora latita nascosta da un'incertezza e da una non ben definizioni dei ruoli?
Grazie a una indagine quantitativa effettuata nel maggio 2006 dall' ISTITUTO
PIEPOLI S.p.a., per conto del CNIPA, si è potuto definire:
la diffusione della TV digitale ( terrestre, satellitare, via cavo, internet
TV);
il profilo dell'utente della TV digitale;
la tipologia di utilizzo della Tv digitale;
la propensione all'utilizzo, le aspettative e il livello di soddisfazione dei
servizi on-line su piattaforma Digitale Terrestre
Questa ricerca è stata realizzata attraverso la somministrazione di 3.500 interviste
con metodologia CATI (Computer Aided Telephone Interviewing) ad un campione
rappresentativo della popolazione italiana segmentato per sesso, età, grandi
ripartizioni geografiche e ampiezza centri.
Da un'indagine preventiva effettuata dallo studio Busacca & Associati su dati EITO
2004 (European Information Technology Observatory) , la penetrazione della TV
digitale, considerando anche quella via cavo e satellitare, nel 2007 doveva essere in
linea con quella di internet ma con un tasso di crescita considerevolmente superiore.
Figura 5. Stima di penetrazione di Internet e TV digitale sulla popolazione nazionale Base: settembre
2004
25
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
Al fine di chiarire le idee è utile confrontare questi due studi, per analizzare meglio
il reale stato di salute del digitale terrestre. Dati alla mano risulta che il 49% degli
intervistati usa internet regolarmente, mentre solo in 35% di essi, hanno in casa
dispositivi per la ricezione della TV digitale. Queste percentuali, anche se superiori
alle previsioni di qualche punto, ben scostano da quelle attese nel 2004, questo
sicuramente è dovuto alla decisione di rimandare lo switch-off al 2012, posticipando
così ogni percezione di bisogno da parte dell'utente di adeguarsi alla nuova
piattaforma. Precisando le singole voci che compongono il paniere dei dispositivi
tecnologici più utilizzati, notiamo che: la televisione tradizionale è lo strumento
tecnologico più adoperato, seguito dal cellulare e da internet, il digitale terrestre si
ferma ad un 10% pari a 339 intervistati, la figura seguente meglio descrive tale
panorama.
Grafico1. Uso dei dispositivi tecnologici.
Base: 3504 intervistati- Dati in percentuale.
È utile descrivere l'utente tipo utilizzatore del Digitale Terrestre, per definire
un'appropriato programma di sviluppo dei programmi/servizi da erogare,
considerando sempre che lo scopo ultimo è quello di massimizzare i profitti. A tal
fine il decoder interattivo, utilizzabile con Smart-Card, consente l'erogazione di
programmi dal carattere Pay risulta il dispositivo di ricezione di maggior diffusione,
ricopre infatti il 67% di quelli già venduti. Esistono una molteplicità di Smart-Card ,
26
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
le più famose sono quelle emesse da La7 e da Mediaset, quest'ultima è riuscita a
fortificare la sua posizione
attuando una azzeccata politica pubblicitaria e
utilizzando una favorevole triangolazione di fattori, che si era venuta a creare nei
primi anni dal lancio.
Grafico 2. Base:339 utilizzatori della Smart-Card per il DDT. Dati in percentuale
Grafico 3. Base:339 Programma più seguiti dagli utilizzatori del DTT. Dati in percentuale
Come mostrato dall'ultimo grafico lo sport è la tipologia di programma più seguito,
ed senza dubbio anche il più remunerativo grazie all'adozione delle carte prepagate
che consentono una fruizione dei contenuti sia di tipo a consumo che in
abbonamento.
27
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
Come ben sappiamo il digitale terrestre si propone di offrire una molteplicità di
servizi con l'adozione del canale di ritorno, attualmente sono ancora poche però
queste realtà e lo scetticismo da parte degli utenti rimane probabilmente la principale
causa della scarsa abitudine di utilizzare il canale bidirezionale. Infatti, ben il 70%
degli utilizzatori del DTT afferma di non aver mai utilizzato il CdR, mentre la
maggioranza di quelli che lo hanno usato almeno una volta lo hanno fatto per
programmi di informazione, seguita da intrattenimento, giochi e sport.
Frequenza di utilizzo del canale di ritorno nel primo trimestre 2006
Grafico 4. Base 339 utilizzatori del DT
La Pubblica a Amministrazione dovrebbe essere la prima promotrice per la
divulgazione delle potenzialità che la nuova piattaforma offre, ma da come risulta
anche se quasi la metà degli intervistati è a conoscenza dei servizi offerti dagli enti
pubblici solo, il 2% li ha utilizzati e di questi nessuno ha usufruito del canale di
ritorno, realizzando di fatto solo un servizio di tipo informativo.
28
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
1.4 Contesto normativo in Italia
In Italia, a partire dalla fine degli anni novanta, molti studi si sono susseguiti allo
scopo di individuare le migliori soluzioni legislative, tecniche per il successo del
digitale. Un importante riferimento è il Libro Bianco sulla Televisione Digitale
Terrestre, resoconto degli studi tenuti dal Comitato per lo sviluppo dei sistemi
digitali, da cui emerge che vi è un orientamento all’uso di multiplex in un numero
compreso tra 3 e 6 implementando una prima modalità di diffusione di tipo MFN
(Multi-Frequency Network) che meglio favorisce l’introduzione del digitale terrestre
senza penalizzare i servizi analogici esistenti.
Una fase di sperimentazione è stata possibile, da parte delle emittenti, attraverso
richiesta di abilitazione al ministero e previo regolamento Legge 66/2001. Suddetta
legge fissa un ulteriore fondamentale criterio di trasmissione, cioè che ogni mux
debba contenere, oltre ai servizi multimediali veicolati, almeno cinque programmi
radiofonici DAB (codificati MUSICAM) o almeno tre programmi televisivi DVB
(codificati MPEG-2).
Il regolamento che governa il passaggio del sistema televisivo dall’analogico al
digitale e la temporanea coesistenza (fig.4) risiede nella delibera AGCOM
435/01/CONS del 6 Dicembre 2001. Qui sono definite le condizioni relative al
rilascio delle licenza per la diffusione di trasmissioni radiotelevisive su frequenze
terrestri in tecnica digitale e sono definiti i ruoli di tre figure fondamentali: Operatore
di Rete broadcast, Fornitore di contenuti e Fornitore di servizi. Successivamente, al
fine di incentivare lo sviluppo della radiodiffusione televisiva digitale, il Ministero
delle comunicazioni promuove, per mezzo della legge del 16 Gennaio 2003, attività
di sperimentazione di trasmissioni televisive digitali terrestri e di servizi interattivi,
con particolare riguardo alle applicazioni di carattere innovativo nell’area dei servizi
pubblici e dell’interazione tra i cittadini e le amministrazioni dello Stato, avvalendosi
della riserva di frequenze disponibili.
29
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
Figura 6. Confronto in frequenza tra gli spettri analogico e digitale terrestre
Figura 7. Convivenza degli spettri analogico e digitale terrestre
Tali attività sono realizzate, sotto la vigilanza del Ministero delle comunicazioni e
dell’Autorità per le garanzie nelle comunicazioni, con la supervisione tecnica della
Fondazione Ugo Bordoni.
30
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
1.4.1 Legge Gasparri
La cosiddetta legge Gasparri, dal suo promulgatore il deputato Maurizio Gasparri, è
la legge n. 112 del 3 maggio 2004 - "Norme di principio in materia di assetto del
sistema radiotelevisivo e della RAI-Radiotelevisione italiana S.p.a., nonché delega al
Governo per l'emanazione del testo unico della radiotelevisione".
La legge Gasparri è una delle leggi più discusse del Governo Berlusconi II. Si tratta
in sostanza di una legge di riforma generale del sistema radiotelevisivo, la terza
"legge di sistema" dopo la legge Mammì e la legge Maccanico.
1.4.1.1 L'iter legislativ
La legge, proposta dal ministro delle comunicazioni, Maurizio Gasparri, è stata
oggetto di un iter legislativo molto complesso. Approvata dal Parlamento il 2
dicembre 2003, è stata rinviata alle Camere dal Presidente Ciampi il successivo 13
dicembre, con messaggio motivato.
Il messaggio del Presidente ha dei richiami precisi:
•
necessità di fissare un termine più breve per la regolamentazione del digitale
terrestre da parte dell'Autorità per le garanzie nelle comunicazioni (la l.
Gasparri cercava di prorogare il termine fissato dalla sent. n. 466/2002 della
Corte Costituzionale)
•
la base di riferimento per il calcolo dei ricavi (il c.d. Sistema Integrato delle
Comunicazioni) potrebbe consentire, a causa della sua dimensione, a chi ne
detenga il 20 per cento di disporre di strumenti di comunicazione in misura
tale da dar luogo alla formazione di posizioni dominanti, violando così il
pluralismo.
31
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
1.4.1.2 La legge definitiva
Per quanto riguarda il primo richiamo mosso dal Presidente col suo messaggio, il
Governo si è preoccupato di adottare un decreto legge (il c.d. decreto salvareti), che è
poi stato convertito in legge dal Parlamento in data 23 febbraio 2004, aspramente
criticato perché di fatto calpestava una sentenza della Consulta che ordinava la messa
sul satellite di un rete Mediaset e la conseguente perdità di pubblicità su Raitre. Il
nuovo testo della legge Gasparri è stato approvato in via definitiva il 29 aprile (dopo
130 sedute e la presentazione di 14000 emendamenti), e promulgato dal Presidente il
3 maggio 2004.
La legge Gasparri contiene delle novità:
•
limiti al cumulo dei programmi e alla raccolta di risorse economiche (art. 15):
•
definizione del "SIC" (Sistema I ntegrato delle Comunicazioni), che
comprende stampa quotidiana e periodica; editoria (...) anche per il tramite
di Internet; radio e televisione; cinema; pubblicità
•
i soggetti (che sono quelli previsti dall'art.1, co.6, lett. A), num.5 della legge
31 luglio 1997, num. 249)non possono conseguire, nè direttamente, nè
attraverso soggetti controllati, ricavi superiori al 20% dei ricavi complessivi
del sistema integrato delle comunicazioni (tale limite corrisponde a circa 26
miliardi di euro, e sostituisce il limite del 30% della l. Maccanico, il quale
però corrispondeva a 12 miliardi)
•
il digitale terrestre va realizzato entro il 31 dicembre 2006 (art. 23)
•
differenti titoli abilitativi per lo svolgimento delle attività di operatore di rete
o di fornitore di contenuti televisivi o di fornitore di contenuti radiofonici (art.
5)
•
l’autorizzazione non comporta l’assegnazione delle radiofrequenze (art. 5)
32
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
1.4.1.3 Critiche alla legge
La legge Gasparri è stata criticata per i seguenti motivi:
•
il tetto antitrust definito nel 20% del SIC è stato sì abbassato in misura
percentuale rispetto al 30% della l. del 1987 (art 3 lett. B L. 67/1987), ma il
valore assoluto di tali percentuali è passato da 12 miliardi di euro di allora a
26 miliardi oggi
•
l'aumento del limite antitrust viola il principio del pluralismo sancito dall'art.
21 della Costituzione
•
si incentiva ancora di più la pubblicità televisiva, a scapito di quella sulla
stampa
•
mancano riferimenti al diritto all'informazione degli utenti
•
la fissazione di una data (31 dicembre 2006) entro cui realizzare le reti digitali
terrestri rischia di aprire un altro regime di proroga (rischio concretizzato nel
rinvio al 2012 del digitale)
•
ci sarebbe una grave e palese violazione della sentenza 466/2002 della
Consulta
•
Mediaset potrebbe avvantaggiarsi più di altri editori rafforzando la sua
posizione dominante
•
lasciava irrisolti i problemi del piano nazionale delle frequenze
1.4.1.4 Bocciatura da parte del' UE
L'Unione Europea è intervenuta con una procedura d'infrazione nei confronti
dell'Italia dove si chiedevano spiegazione sulle storture del sistema radio-tv causate
dalla Gasparri; la stessa unione, a luglio 2007 da 2 mesi di tempo all'Italia per
33
CAPITOLO 1.
LA TV DIGITALE : UPGRADE TECNOLOGICO E NUOVO SCENARIO COMPETITIVO
correggere le presunte storture della Gasparri sulla parte relativa al digitale terrestre.
La richiesta di proroga del governo italiano è stata respinta, ciò vuol dire che con le
regole in vigore il Paese rischia 1 multa di 300-400 mila euro al giorno fino a quando
non saranno cambiate le regole.Il nuovo disegno di legge è giunto con le elezioni del
2006 , il nuovo ministro Paolo Gentiloni ha presentato un disegno di legge che da un
lato fa slittare al 2012 il termine per passare dalla televisione analogica a quella
digitale, dall'altra cerca di modificare ampie porzioni della legge Gasparri. Ampie
riserve anche su quest'ultimo disegno di legge sono state espresse dall'Autorità
Garante della Concorrenza e del Mercato, Antonio Catricalà, mentre Corrado
Calabrò, presidente dell'Authority per le comunicazioni, spinge per la rapida
approvazione [4].
34
CAPITOLO 2
Capitolo 2
STANDARD DI RIFERIMENTO E TECNOLOGIE
PER LA TV DIGITALE
Nel corso del primo capitolo si è fatto breve cenno agli standard che regolano il
sistema televisivo digitale: questi sono visti più in dettaglio in questo capitolo. La
componente interattiva della TV digitale è stata standardizzata a livello europeo
attraverso la specifica DVB-MHP (Digital Video Broadcasting – Multimedia Home
Platform) che definisce la piattaforma standard per la distribuzione ed esecuzione di
applicazioni televisive su STB, nonché le specifiche per il loro sviluppo. La
combinazione di STB, piattaforma MHP e canale di ritorno è il fattore abilitante lo
sviluppo dei servizi.
2.1 Lo standard DVB (Digital Video Broadcasting)
Lo standard di riferimento per quanto riguarda la tecnica di compressione del segnale
TV digitale, come già accennato, è lo standard MPEG-2; per quanto concerne,
invece, la trasmissione televisiva digitale, essa è regolata dallo standard DVB
(Digital Video Broadcasting). DVB è un consorzio europeo di industrie, 260
broadcaster e 35 paesi diversi che si occupa di gestire, quindi, aspetti di livello fisico
e specifiche di sistema, oltre che varie funzioni di coordinamento tra broadcaster e
35
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
produttori di apparati. Il progetto DVB nasce nel settembre del 1993 con il fine di
realizzare un forum che riunisse in un unico gruppo di interesse le realtà europee
operanti nei vari comparti della diffusione televisiva e multimediale, dando vita ad
un sistema completo di TV digitale [5]. Sul finire del 1997 gli standard del consorzio
DVB vengono adottati su scala mondiale rendendo la TV digitale una realtà. DVB
standard è avallato da enti di certificazione quali ETSI - CENELEC - JTC – EBU. In
base al canale trasmissivo, al tipo di modulazione e al tipo di applicazione digitale, lo
standard DVB si divide in alcuni sotto standard: DVB-S2 (Satellite 2nd generation),
DVB-T (Terrestrial), DVB-C (Cable) e DVB-H (Mobile). Quest’ultimo si propone di
rendere mobile la distribuzione dell’informazione broadcast per permettere ai
palmari e agli smartphone di ultima generazione di attivare una ricezione televisiva,
eventualmente sfruttando i network digitali terrestri.
2.2 DVB-C (Cable)
DVB-C è lo standard per trasmissioni digitali su cavo, in genere coassiale o su larga
banda con fibra ottica. Il tipo di modulazione è 64-QAM o superiore con bassissimo
tasso di errore su cablaggi in fibra e conseguentemente alti bit rate. In ricezione è
necessario un cable modem.
Figura 8. Penetrazione DVB-C nel mondo (©www.dvb.org - updated Aprile 2006)
36
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
La trasmissione del segnale digitale avviene su canali di banda di 8 MHz [6]. Essa è
caratterizzata da una tripla codifica di correzione degli errori:
•
Codifica interna (tipo Reed Solomon) che utilizza 16 bits di ridondanza su
ogni pacchetto di 188 bytes trasmesso;
•
Codifica esterna (puncturing) dove la percentuale di bits di ridondanza varia
rispetto ai bits utili;
•
Interallacciamento convoluzionale che permette una separazione degli errori e
successivamente l’introduzione di bits di correzione tramite Codice di Viterbi.
Una volta terminata la fase di correzione degli errori, prima di passare alla
modulazione, i simboli vengono preparati per essere mappati (QAM) per mezzo di
una codifica differenziale e successivamente filtrati (fig.9).
Figura 9. Diagramma a blocchi funzionale del sistema DVB-C
2.3 DVB-S2 (Satellite 2nd generation)
DVB-S2 è il sistema di seconda generazione per trasmissione satellitare. Tale
sistema beneficia dei più recenti sviluppi nella codifica di canale: utilizza i codici a
controllo di parità LDPC (Low Density Parity Check) combinati con vari formati di
modulazione (QPSK, 16APSK e 32APSK). Oltre che per i servizi diffusivi, il
37
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
sistema può essere impiegato per applicazioni interattive punto-punto, come
l’accesso a Internet, e implementare l’ACM (Adaptative Coding & Modulation), che
consente di ottimizzare lo schema di modulazione e codifica a seconda delle
condizioni di canale [7]. Il DVB-S2 è evidentemente l’evoluzione del più famoso
DVB-S, il sistema di diffusione televisiva via satellite che nasce nella prima metà
degli anni novanta e oggi operativo in tutto il mondo (fig.10). Il DVB-S ha un
sistema di trasmissione del tutto simile a quello del DVB-C per quanto riguarda la
codifica di correzione degli errori; tuttavia esso differisce per il tipo di modulazione:
QPSK anzicchè QAM (la portante è trasmessa con
ampiezza costante e i due livelli logici 0 e 1 sono caratterizzati da differenza di fase).
Rispetto ad una modulazione in frequenza abbiamo un miglior rapporto
segnale/rumore (S/N). La trasmissione è basata su un sistema di satelliti
geostazionari che ricevono l’informazione audiovisiva da una emittente e la
diffondono in broadcast sulla terra entro un diametro grande quanto il corrispondente
cono d’ombra proiettato. La ricezione del segnale a terra avviene per mezzo di
antenna parabolica e, ovviamente, decoder di ricezione del segnale digitale.
Figura 10 Penetrazione DVB-S nel mondo (©www.dvb.org - updated Aprile 2006)
Per consentire al DVB-S di continuare ad operare durante il periodo di transizione, lo
38
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
standard DVB-S2 prevede modi di trasmissione “compatibili” con i decoder
satellitari di prima generazione. Il sistema DVB-S2 è stato progettato per varie
applicazioni satellitari a larga banda: servizi diffusivi di TV a definizione standard
(SDTV, Standard Definiton TeleVision) e ad alta definizione (HDTV, High
Definition
TeleVision),
applicazioni
interattive
per
l’utenza
domestica
e
professionale, compreso l’accesso ad Internet, servizi professionali di contribuzione
TV ed SNG (Satellite News Gathering), distribuzione di segnali TV a trasmettitori
digitali terrestri VHF/UHF, distribuzione dati e di siti Internet (Internet trunking).
2.4 DVB-T (Terrestrial)
E’ lo standard in uso nella trasmissione digitale terrestre e consente la trasmissione e
la ricezione di segnali per mezzo di una normale antenna, disponendo solo di un
decoder TV. E’ il più sofisticato e flessibile standard del sistema DVB se si esclude il
DVB-H. La tecnica di modulazione è di tipo COFDM (Coded Orthogonal Frequency
Division Multiplex) con costellazioni delle portanti QPSK, 16-QAM e 64-QAM, una
soluzione tecnica avanzata che consente di configurare i parametri di trasmissione in
modo flessibile per meglio adattarsi alle caratteristiche del canale di diffusione
terrestre. Il bit- rate varia dai 5 Mbps ai 32 Mbps. Le frequenze utilizzate sono nelle
bande VHF/UHF. Inoltre supporta il protocollo internet.
Il sistema DVB-T permette la ricezione fissa, portatile e mobile. Sono possibili due
modalità operative: con 2K portanti per le reti di diffusione convenzionali
multifrequenza (MFN), e con 8K portanti per operare anche su reti a singola
frequenza (SFN). L’introduzione di reti SFN, non possibile nelle trasmissioni
televisive analogiche, consente un’utilizzazione ottimale dello spettro.
39
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
Figura 11. Diagramma a blocchi funzionale del sistema DVB-T
La definizione della specifica DVB-T risale al novembre 1995, con approvazione
come standard ETSI nel febbraio 1997 [8]; il processo di normalizzazione, piuttosto
lungo e complesso, è stato influenzato da vari fattori:
•
a complessità tecnica del problema, dovuta anche alla maggiore
ostilità della propagazione del segnale elettromagnetico nelle bande
terrestri VHF/UHF rispetto alla diffusione via satellite;
• la congestione dello spettro di frequenza per la diffusione televisiva
terrestre;
• l’interesse di soddisfare nuove modalità operative su reti
isofrequenziali (SFN) anche a grande copertura;
• i diversi piani di introduzione dei servizi digitali terrestri formulati
dalle varie amministrazioni europee.
40
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
Figura 12. Penetrazione DVB-T nel mondo (©www.dvb.org - updated Aprile 2006)
2.4.1 Le specifiche DVB-T: modulazione e codifica di canale
Il sistema DVB-T, la cui architettura generale è mostrata in fig.11, è basato
sull’adozione degli standard MPEG-2 per la codifica del segnale audio/video di
sorgente e per la multiplazione: è stato sviluppato per la trasmissione di segnali
televisivi multi-programma a definizione convenzionale, tuttavia è aperto
all’evoluzione verso l’alta definizione (HDTV) mediante l’uso di livelli e profili
MPEG-2 più elevati. La tecnica di protezione dagli errori è sofisticata: fa uso di una
concatenazione tra un codice esterno ed un codice interno a tasso di codifica
variabile mediante processo di interlacciamento.Il cuore del sistema DVB-T risiede
nell’“Adattatore di canale”: esso include la modulazione digitale e la codifica di
canale per la correzione degli errori di trasmissione. Il canale terrestre è
caratterizzato da propagazione multi-cammino, dovuta alle riflessioni, che può
degradare pesantemente il segnale trasmesso.
Gli echi naturali dell’ordine di alcuni microsecondi e legati all’orografia del terreno,
così come gli echi artificiali dell’ordine di centinaia di microsecondi dovuti ai segnali
41
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
provenienti dai vari trasmettitori isofrequenziali presenti nelle reti SFN, non possono
essere trattati con tecniche di modulazione a portante singola, anche perché
richiederebbero l’impiego di equalizzatori molto lunghi e complessi. Pertanto, sulla
base di tali considerazioni e dei risultati di accurate valutazioni tecniche comparative,
è stata scelta la modulazione multiportante COFDM (Coded Orthogonal Frequency
Division Multiplexing) [9].
Il principio su cui si basa questa tecnica di modulazione consiste nel distribuire il
flusso dati totale tra moltissime portanti (a banda stretta e quindi a bassa velocità di
trasmissione) equispaziate in frequenza, all’interno della banda del canale di
diffusione. A ciascuna delle portanti è applicata la modulazione digitale QPSK, MQAM, ecc...; la mutua ortogonalità è garantita per una spaziatura in frequenza tra le
portanti pari alla velocità di simbolo, 1/Tu.
Figura 13. Il segnale OFDM nel dominio del tempo e della frequenza
Il processo OFDM è attuato per mezzo di una I-FFT (Inverse Fast Fourier
Transform). Il sistema DVB-T è caratterizzato da due modalità operative, la prima
con FFT su 2k portanti per reti convenzionali multi-frequenza (MFN), la seconda con
FFT su 8k portanti per coprire anche reti a frequenza singola (SFN). Il sistema
COFDM è inerentemente robusto contro il fading selettivo in frequenza presente sul
canale terrestre, affetto da propagazione multi-cammino, in quanto le portanti a
banda stretta occupano una piccola porzione dello spettro, dove la risposta in
frequenza del canale è “localmente piatta” e non distorcente. La resistenza dei
42
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
sistemi COFDM contro gli echi è anche basata sulla presenza nel simbolo OFDM di
un intervallo di guardia temporale (con durata pari a Tg) che separa simboli OFDM
adiacenti.
Figura 14. Rappresentazione nel dominio del tempo e della frequenza di un
simbolo C-OFDM
L’intervallo di guardia consiste in una continuazione ciclica della parte utile Tu, del
simbolo ed è inserito davanti ad essa. Dei campioni complessi che corrispondono ad
un simbolo, il ricevitore scarta quelli relativi all’intervallo di guardia, cosicchè gli
echi che raggiungono il ricevitore con un ritardo “t” inferiore a Tg non generano ISI
(Inter Symbol Interference).
In aggiunta all’intervallo di guardia, il sistema COFDM fa uso di un potente schema
di correzione degli errori che permette il recupero dell’informazione trasportata da
quelle portanti che sono state affette da fading selettivo in frequenza. A questo scopo,
dopo la codifica interna (con codice convoluzionale), è presente anche un
interlacciatore in frequenza che consente di ottenere la massima dispersione delle
portanti
corrotte
nel
flusso
dati.L’interlacciatore
interno
consiste
nella
concatenazione di un interlacciatore di bit, per separare i bit mappati sui punti della
43
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
costellazione, e di un interlacciatore di simbolo, per disperdere le portanti che
trasportano i dati utili. Il sistema DVB-T può operare soddisfacentemente (flusso
binario quasi senza errori QEF) su un canale affetto da rumore (N) e da interferenze
(I) quando il rapporto totale S/(N+I) disponibile è maggiore o uguale all’Equivalent
Protection Target (EPT) del sistema. Il parametro EPT ha una interpretazione fisica
simile a quella del rapporto S/N richiesto dal sistema di modulazione/codifica, ma
include anche il degradamento dovuto agli echi entro l’intervallo di equalizzazione
Tf.
2.5 DVB-H: La TV si fa portatile
Sfruttando i network digitali terrestri, oggigiorno è possibile permettere ai palmari e
gli smartphone di attivare una ricezione televisiva. Questa evoluzione della
tecnologia digitale terrestre è standardizzata a livello fisico-trasmissivo dal DVB-H
(DVB- Handheld). Ma non è questo l’unico standard di riferimento per la Mobile
TV: in Corea, ad esempio, ma anche in altri paesi, lo standard adottato è T-DMB
(Terrestrial – Digital Multimedia Broadcasting); esiste anche la soluzione chiamata
MediaFlo, proposta da una società di tecnologia americana (Qualcomm). Il DVB-H è
uno standard dell’ETSI e sono state impegnate ben 25 società per la stesura del
rapporto finale del gruppo di lavoro e per la validazione. In Italia, Mediaset e
Vodafone hanno stretto un accordo che sviluppa e rafforza il lancio tecnologico e
commerciale della TV digitale terrestre in mobilità con tecnologia DVB-H, così
Vodafone utilizzerà la capacità del multiplex DVB-H di Mediaset. Si aprono nuovi
scenari: le tecnologie del mondo Mobile e quelle del Media Broadcasting sono
sempre più complementari che non alternative: la rete televisiva è ottima per
trasmissioni broadcast unidirezionali ad un grande numero di utenti, mentre la rete
mobile ha il suo punto di forza nella simmetria del canale.
44
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
Figura 15. Esempio di terminale DVB-H
La ricezione della TV mobile deve coesistere con le altre interfacce senza fili
presenti nel terminale, compresi i canali RF del cellulare, il Bluetooth, il Wi-Fi, ecc.;
in paesi dove le reti GSM usano la banda dei 900 MHz (reti GSM900, come, ad
esempio, accade anche in Italia), un servizio che utilizza lo stesso terminale dovrà
adottare frequenze inferiori a 700 MHz (canale 49 UHF) per evitare interferenze con
il servizio GSM900 nello stesso terminale. Questi limiti non si applicano alle reti
GSM che usano le bande di frequenza di 1800 o 1900 MHz (reti GSM1800/1900) o
alle reti 3G co-residenti con la MDTV nello stesso apparecchio.
Attualmente la durata delle batterie rimane l’aspetto più problematico; tutti i moderni
sistemi di TV mobile implementano tecniche di risparmio delle batterie (TimeSlicing o Bandwidth Shrinking) e le nuove soluzioni di silicio MDTV sono
ottimizzate per consumi veramente bassi. Tuttavia, il problema perenne della durata
delle batterie verrà peggiorato dalla contemporanea presenza, nello stesso terminale,
di GPRS/EDGE, macchina fotografica, giochi, radio e lettore Mp3.
Una delle maggiori battaglie nel controllo d’accesso dei telefonini si svolge nella
gestione della Guida Elettronica ai Servizi (ESG), che vede come protagonisti i
produttori di telefonini, gli operatori e gli sviluppatori di API per l’ESG e per il
middleware della televisione digitale. I sistemi di TV digitale in mobilità, come gli
45
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
altri sistemi di Pay TV digitale, richiedono un accesso condizionale (CA) e soluzioni
di gestione digitale dei diritti (DRM). Questa è un’altra battaglia di controllo degli
accessi dei terminali, che è particolarmente sentita nel DVB-H dove sta avvenendo
una lotta commerciale tra i produttori di telefonini e i tradizionali produttori di CA
per il DVB.
2.5.1 Definizione del sistema DVB-H
DVB-H è una nuova tecnologia di diffusione (broadcasting) che consente la fruizione
di contenuti televisivi in mobilità su terminali portatili, segnatamente su telefonino,
ma anche su PC portatili e palmare (PDA). Questo standard internazionale condivide
con il DVB-T, dal quale deriva, una parte rilevante dell’infrastruttura tecnologica
necessaria ad offrire il servizio.
La caratteristica peculiare del DVB-H [11], rispetto al DVB-T, consiste proprio nel
consentire la fruizione su terminali “mobili” di servizi di televisione digitale gratuiti
e a pagamento, eventualmente interattivi. Gli aspetti principali di questa tecnologia,
che consente di ricevere un segnale di elevata qualità anche in movimento ad alte
velocità (oltre i 200 Km/h), sono:
• l'adozione di nuove e/o più efficaci metodologie per la codifica dei
contributi audio e video (MPEG-4);
• la trasmissione di segnali più resistenti alle interferenze (COFDM 4K);
• la gestione della autocorrezione degli errori (MPE/FEC);
• maggiore immunità dalle interferenze
e maggiore flessibilità per
interleaver esteso (modi 2K e 4K);
• possibilità di inviare segnalazioni a livello fisico che identificano il flusso
(TPS-bit);
• utilizzo di algoritmi di compressione video per aumentare l’efficienza
soprattutto a bassi bit-rate;
46
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
• la significativa riduzione dei consumi di energia (Time-Slicing);
• la distribuzione dei flussi informativi sotto forma di pacchetti dati IP (IP
Datacast) incapsulati in un trasporto DVB (MPE).
Per realizzare compiutamente le sue potenzialità, il DVB-H richiede intrinsecamente
una forte integrazione tra Broadcaster e Operatore Mobile, che devono svolgere
sinergicamente diversi ruoli per la realizzazione della rete, la fornitura di servizi e di
contenuti e per la gestione dei clienti e degli aspetti di billing.
Figura 16. Struttura di un ricevitore DVB-H
Il protocollo IP applicato al DVB-H può essere utilizzato per il trasferimento, oltre
che di video e audio, di file, pagine html, immagini, videoclip e permette di utilizzare
tutta una serie di componenti e standard per l’elaborazione, l’immagazzinamento e la
trasmissione dei dati.
I terminali DVB-H possono essere classificati in tre categorie:
• terminale integrato in auto con antenna esterna e ricezione in movimento
garantita fino alle alte velocità;
• televisore portatile o tascabile con antenna esterna o estraibile, adatto alla
ricezione indoor o outdoor;
• terminale palmare (handheld) eventualmente integrato con altro sistema
47
CAPITOLO 2.
STANDARD DI RIFERIMENTO E TECNOLOGIE PER LA TV DIGITALE
(GSM, UMTS, Wi-Fi, Bluetooth, ecc.) di piccole dimensioni, con
antenna integrata e ricezione anche in movimento;
Il formato video è in genere CIF (Common Intermediate Format) con risoluzione
352x288 pixel o QCIF (Quarter CIF) con risoluzione 176x144 pixel.
48
CAPITOLO 3.
Capitolo 3
LO STANDARD MHP
MHP è uno standard molto giovane, la prima release è stata creata dal DVB Project e
standardizzata dall'ETSI Institute nell'anno 2000. Multimedia Home Platform
definisce l'interfaccia tra le applicazioni interattive e i terminali sulle quali queste
possono essere eseguite (Set-Top Box, digital TV e PC multimediali). L'architettura
(come mostrato in figura 15) è definita dai seguenti 3 layers:
Resources: MPEG processing, I/O devices,CPU, memoria e graphics system.
System Software: JVM, APIs, transport protocols e soprattutto l'Application
Manager (o navigatore) che permette di gestire il running delle applicazioni Java.
Applications: le applicazioni interattive come ad esempio Electronic Program
Guide, servizi informativi, giochi, TV-Commerce etc.
Figura 17. Architettura dell'MHP
Le applicazioni possono risiedere permanentemente su un terminale, essere installate
oppure scaricate. Quelle che offrono funzionalità specifiche per un determinato
terminale appartengono alla prima categoria. La seconda e la terza categoria
49
CAPITOLO 3.
LO STANDARD MHP
rappresentano le applicazioni che di fatto vengono offerte agli utenti dai
broadcasters. Queste ultime sono basate su tecnologie Java e HTML e, per poterle
eseguire, non necessitano di alcuna risorsa aggiuntiva sul terminale.
3.1 applicazioni DVB-J e DVB-HTML
Le applicazioni basate su Java prendono il nome di "applicazioni DVB-J" mentre
quelle basate sull’HTML prendono il nome "applicazioni DVB-HTML". Il DVBHTML (DVB Hyper Text Mark-up Language) ha avuto finora poco successo,
soprattutto per la sua complessità. Le applicazioni create con queste tecnologia
nascono dall’utilizzo di una versione modularizzata del linguaggio XHTML 1.1 :
questo standard unisce i linguaggi di marcatura HTML e XML per facilitare la
creazione di contenuti e supportare più applicazioni: gli elementi fondamentali (in
pratica l'insieme di tag che definiscono la struttura di un documento) sono
raggruppati in una serie di moduli indipendenti, che possono essere implementati o
esclusi secondo le necessità. Gli strumenti designati per curare l’aspetto visuale ed
estetico dell’applicazione sono i CSS2 (Cascading Style Sheets, seconda specifica); il
contenuto è visto separato dall’applicazione ed entrambi possono essere modificati
più agevolmente. Inoltre il DVB-HTML prevede le forme di rappresentazione DOM
(Document Object Model), ovvero le applicazioni assumono una struttura ad albero
in maniera da essere neutrali per la piattaforma mentre il linguaggio di scripting resta
comunque un linguaggio etichettato Java, cioè ECMA Script. Un ultimo fattore
interessante è rappresentato dalla possibilità di integrazione tra la parte HTML e il
media broadcasting [10]; tuttavia queste implementazioni restano complicate e poco
50
CAPITOLO 3.
LO STANDARD MHP
Figura 18. Profili dell'MHP
flessibili. DVB-J rappresenta lo standard più diffuso, basato su un subset di
linguaggio di programmazione Java. Esso costituisce un software intermedio e aperto
per la messa a punto di molti tipi di applicazioni e servizi anche con modalità
interattive. All'interno dello standard troviamo anche la definizione di 3 profili, utili
ad evidenziare i servizi possibili con le relative tecnologie. Esiste inoltre un legame
univoco tra i profili (Figura 18) e le release dello standard:
Le applicazioni DVB-J sono dette Xlet; esse sono eseguite dalla Java Virtual
Machine del ricevitore (unica per tutte le applicazioni)
3.2 Xlet
Una Xlet è una particolare applicazione Java concepita per essere scaricata ed
eseguita su decoder interattivi nei quali un software specifico, l'Application Manager,
è in grado di controllarne il ciclo di vita. Come vedremo le similitudini con le Applet,
dove l'application manager è rappresentato dal browser sono molteplici. Per iniziare
a costruire una Xlet occorre innanzitutto capire cosa viene fornito da Sun nelle API
Java TV. Infatti è proprio in queste librerie che vengono definite le due interfacce
fondamentali da utilizzare:
51
CAPITOLO 3.
LO STANDARD MHP
• javax.tv.xlet.Xlet che definisce i seguenti metodi:
public void initXlet(XletContext ctx);
public void startXlet();
public void pauseXlet();
public void destroyXlet(boolean unconditional);
• javax.tv.xlet.XletContext che definisce i seguenti metodi:
public void notifyDestroyed();
public void notifyPaused();
public java.lang.Object getXletProperty(java.lang.String key);
public void resumeRequest();
Entrambe le interfacce servono per interagire con l'application manager in merito al
ciclo di vita e al contesto in cui la Xlet viene eseguita. La classe principale di ogni
Xlet deve sempre implementare javax.tv.xlet.Xlet per poter essere eseguita sui
decoder interattivi MHP. Come si mostra in Figura il ciclo di vita di una Xlet è
caratterizzato da 4 stati: Loaded: in questo stato la Xlet è stata creata ma non
inizializzata, se durante questa fase viene rilevata un eccezione allora si passa
direttamente nello stato Destroyed. Da notare che la Xlet si può trovare in questo
stato solo una volta durante tutto il suo ciclo di vita. Paused: la Xlet è inizializzata e
può trovarsi in questo stato sia dopo che il metodo initXlet(XletContext) è ritornato
con successo dallo stato Loaded oppure dopo che il metodo pauseXlet() è ritornato
con successo dallo stato Active. In entrambi i casi in questo stato la Xlet dovrebbe
limitare al massimo l'utilizzo delle risorse condivise e soprattutto non impegnare la
GUI televisiva. Active: in questo stato la Xlet è attiva e utilizza le risorse necessarie
per fornire i suoi servizi, se dotata di GUI allora dovrebbe essere l'unica registrata
per ricevere gli eventi del telecomando. Destroyed: in questo stato la Xlet deve
rilasciare tutte le risorse in uso per predisporsi alla terminazione.
52
CAPITOLO 3.
LO STANDARD MHP
Figura 19 . Ciclo di vita di una Xlet
Una sequenza tipica di questo ciclo potrebbe essere: L'application manager crea una
nuova istanza di una Xlet chiamando il suo costruttore (stato LOADED). La Xlet usa
il context
passatogli dall'application manager nel metodo initXlet(XletContext) e
si inizializza (stato PAUSED). L'application manager chiama il metodo startXlet() e
la Xlet inizia ad utilizzare le risorse necessarie per fornire i servizi per cui è stata
costruita(stato ACTIVE). L'application manager chiama il metodo destroyXlet(true)
e la Xlet rilascia le risorse, dopodiché viene terminata (stato DESTROYED).
3.3 Analisi e gestione delle risorse scarse
I Set Top Box sono sistemi che presentano risorse limitate a livello hardware come
poca memoria e processori “lenti”, rispetto agli attuali PC in commercio, quindi per
poter utilizzare le varie periferiche: input (telecomando), output (decoder Mpeg2 per
visualizzare le immagini su video) e modem si devono usare delle accortezze, le
precedenti periferiche vengono chiamate “risorse scarse”. Se le risorse non vengono
gestite in maniera ottimale potrebbe succedere che un'applicazione non sia in grado
di funzionare correttamente o non sia in grado di sfruttare tutte le potenzialità del
STB. Le API che andremo a considerare sono le resource notification API che sono
state definite da DAVIC nel package org.davic.resource .
Una cosa da tenere in considerazione è che queste non sono API di gestione delle
risorse, in quanto questa viene lasciata al middleware del ricevitore ma ben si di
53
CAPITOLO 3.
LO STANDARD MHP
notifica. Servono quindi a notificare all'applicazione se una risorsa è stata tolta,
oppure se è richiesta da un'altra applicazione concorrente. Le resource notification
API sono sostanzialmente composte da tre classi:
• ResourceServer
• ResourceClient
• ResourceProxy
Tali classi non hanno funzionalità autonoma ma forniscono dei concetti comuni ai
quali le API che definiremo di “ utilizzo” dovranno attenersi per svolgere i loro
compiti. Questo significa che essendo queste delle “interface” saranno le classi che le
implementano a definirne nello specifico i loro compiti. Queste API si basano sul
modello client-server con piccole variazioni.
L'interfaccia ResurceServer è implementata da quelle API di utilizzo responsabili di
effettuare la richiesta di risorse scarse, e di gestirne la loro allocazione. Tali risorse
scarse potrebbero essere di tipo software, ad esempio il section filter, oppure di tipo
hardware come per esempio un modem oppure un decoder MPEG, le API non fanno
distinzione e le trattano tutte in maniera simile.
3.4 Modello grafico
Il modello grafico definito dallo standard MHP è basato su tre differenti piani (o
layers) come mostrato in Figura 20.Partendo da dietro, rispetto a chi guarda la TV,
troviamo il Background layer che può contenere un solid color o una still image
(rappresentata da un particolare frame MPEG-2, quello di tipo I), avanti troviamo il
Video layer rappresentato dal flusso A/V del canale TV o di una qualsiasi altra fonte
in formato MPEG-2. L’ultimo livello è il Graphics layer che può contenere la grafica
creata nella Xlet, che a sua volta può essere strutturata su n-livelli sovrapposti. Tutti
e tre i livelli lavorano ad una risoluzione standard di 720x576 o 768x576 se viene
impostato il modo di visualizzazione su schermo 4:3.
54
CAPITOLO 3.
LO STANDARD MHP
Figura 20. Layer grafici dell'MHP
Per chi è abituato a fare applicazioni grafiche su PC non ci sono molte differenze, ma
è il caso di tenere in considerazione alcuni aspetti:
• i pixel non sono perfettamente quadrati;
• il file che costituisce il background deve essere un’immagine video
in formato
mpeg2 (.mpg) in loop e non un immagine statica
(.jpg), dato che il STB usa per la sua visualizzazione lo stesso
decoder del video layer. (Programma di conversione consigliato
.jpg -> .mpg “ImageMagic”);
• le linee spesse 1 pixel non vengono visualizzate perfettamente o
addirittura non sono visibili (consigliato spessore >=2);
• le coordinate assolute (x,y) partono da 0,0 angolo superiore sinistro;
• possono essere usate coordinate indipendenti dalla risoluzione
chiamate “normalizzate” e si esprimo con numeri decimali da 0.0
a 1.0 supportate nelle API Havi;
• nella gestione del livello grafico è assicurata la visualizzazione
completa in un
area ridotta rispetto alle coordinate totali, detta
SAFE AREA di ampiezza 562x460.
55
CAPITOLO 3.
LO STANDARD MHP
Figura 21. Definizione della Safe Area su di un monitor a definizione standard.
3.4.1 Background layer
Per settare uno sfondo sulla nostra applicazione bisognerà innanzitutto tener conto
che la periferica che andremo ad utilizzare, il decoder mpeg2 è una risorsa scarsa,
quindi per effettuare qualsiasi tipo di settaggio bisognerà prima acquisirla usando le
resource notification API introdotte nei paragrafi precedenti. Il package più
importante da importare per la gestione di questo layer è org.havi.ui.* .Vediamo in
breve le operazioni da eseguire: per prima cosa si sceglie lo schermo da usare
mediante
l’oggetto
HScreen,
a
questo
oggetto
bisogna
associare
una
HGraphicsDevice che conterrà il set d’impostazioni assegnate per mezzo di
HgraphicsConfigTemplate.
Il set di ogni singola impostazione è eseguito dal metodo setPreference al quale
viene passato il parametro e la priorità; sarà poi il midlleware a decidere se il
settaggio richiesto è attuabile in base alla priorità data e alle esigenze delle altre
eventuali
applicazioni che sono in running. Conviene creare una classe che implementa
obbligatoriamente org.davic.resources.ResourceClient dove inserire tutti i metodi per
l’acquisizione, il settaggio e il rilascio della risorsa. L’ultima cosa da aggiungere per
quanto riguarda la gestione di questo livello è che, per rendere visibile il background,
56
CAPITOLO 3.
LO STANDARD MHP
bisognerà ridimensionare o nascondere del tutto il livello superiore, ovvero il video
layer. Trascurando la gestione del primo livello si possono implementare interfacce
usando il livello grafico e come sfondo avranno la trasmissione corrente del canale
dove si è sintonizzati.
3.4.2 Viedo layer
La gestione del video layer è molto importante non solo per l’aspetto estetico della
nostra interfaccia grafica. Non dobbiamo dimenticare, che il broadcaster ha si
interessi a fornire l’applicazione MHP, ma si deve preoccupare anche della
trasmissione che sta andando in onda. Mentre in una fase iniziale, nelle prime
applicazioni, si preferiva ridimensionare il video e spostarlo in modo da non
sovrapporsi a menù, pulsanti etc. ora la tendenza e di lasciarlo invariato il più
possibile, usando trasparenze o sovrapposizioni di grafica temporanee, in modo da
distogliere il meno possibile l’attenzione del telespettatore dalla trasmissione.
Comunque ci sono casi in cui l’applicazione può pretendere e merita tutta
l’attenzione dell’utente, basta pensare all’inserimento dati o alla conferma di un
movimento in una applicazione e-banking per esempio. Quindi è bene alternare fasi,
come la navigazioni di menù, dove il video sia in primo piano e altre in cui venga
eliminato o ridotto. Prima di ridimensionare o eliminare addirittura il video layer è
bene aver impostato una immagine nel background layer come descritto nel
paragrafo precedente, onde intercorrere a videate nere o addirittura alla non
visualizzazione del livello grafico che ora andremo a trattare.
57
CAPITOLO 3.
LO STANDARD MHP
3.4.3 Graphics layer
Il livello grafico è supportato da diversi package messi a disposizione dallo standard;
uno dei fondamentali è Havi 1.1. In tale package il container di più alto livello in una
Xlet è rappresentato dalla classe org.havi.ui.HScene, che concettualmente è
equivalente a java.awt.Window o java.awt.Frame ma con caratteristiche specifiche
per i decoder digitali, MHP supporta anche le classi AWT contenute nella versione
1.1.8 del JDK Sun ma spesso è possibile trovare un equivalente nel package Havi e
che quindi dovrebbe essere preferita (es: org.havi.ui.HContainer è più specifica per
MHP di java.awt.Container). Oltre ad Havi e AWT è possibile utilizzare anche un
package specifico DVB org.dvb.ui dove è possibile trovare classi di utilità come la
DvbColor che permette di gestire anche le trasparenze tramite il parametro alpha non
presente nella classe java.awt.Color. Data l’importanza vediamone un tipo di
costruttore: DVBColor (int r, int g, int b, int a) dove r,g,b sono i colori primari red,
green, blue e “a”- alpha è la trasparenza, tutti e quattro i parametri hanno un range da
0 a 255. Non tutti i tipi di decoder MHP gestiscono le trasparenze in questo modo,
ma lo standard garantisce almeno 3 livelli: 0 % (opaco), 100 % (completamente
trasparente), 30 % di trasparenza. Il font di sistema supportato in MHP è il
“Tiresias”, che deve essere disponibile almeno nelle seguenti dimensioni:
• 36 punti (Title)
• 31 punti (Subtitle)
• 26 punti (Body)
• 24 punti (Footnote)
I formati grafici supportati sono: png, jpg, gif e mpg (I-Frame). Vediamo un esempio
di codice che recupera l'istanza di HScene e ci posiziona un HContainer e un Htext.
HSceneFactory hsf = HSceneFactory.getInstance();
HScene scene = hsf.getFullScreenScene(
HScreen.getDefaultHScreen().getDefaultHGraphicsDevice());//
risoluzione a schermo pieno
58
CAPITOLO 3.
LO STANDARD MHP
scene.setSize(720,576);
scene.setLayout(null);
HContainer cont = new HContainer(50,50,650,500);
HText text = new HText("Casella di testo!",160, 200, 300, 60,
new Font("Tiresias", Font.PLAIN, 26),Color.black,Color.white,
new HDefaultTextLayoutManager());
cont.add(text);
scene.add(cont);
scene.setVisible(true);
scene.repaint();
Un altro oggetto molto utile nella creazione di un’interfaccia è HIcon che permette di
caricare un immagine e visualizzarla, per esempio per creare un bottone, in dettaglio:
HIcon
(java.awt.Image image,
int x, int y, int width,
int height) utilizzando
java.awt.Toolkit ecco il nostro bottone:
bottone = new HIcon(Toolkit.getDefaultToolkit().getImage("bottone.jpg"), 50, 100, 140, 30);
Per dare facilmente l’effetto che il pulsante venga premuto si possono creare due
oggetti HIcon con le rispettive immagini, pulsante rilasciato/pulsante premuto,
posizionati sulle stesse coordinate e agire con il metodo setVisible(true/false) per
nascondere l’uno e visualizzare l’altro.
59
CAPITOLO 3.
LO STANDARD MHP
3.5 Il telecomando: strumento per l'interattività
La gestione del telecomando è banale per chi conosce Java, si basa sugli ascoltatore
di eventi; in MHP si possono usare i package org.havi.ui.event che necessita del
focus di un’ oggetto grafico oppure org.dvb.event. Iniziamo dal primo caso, nel
package sono definite le costanti che corrispondono al codice restituito dal metodo
getKeyCode di java.awt.event.KeyEvent ad ogni pressione di un tasto. L’ascoltatore
degli
eventi
va
aggiunto
nel
scene.addKeyListener((KeyListener)this) e rimosso nel
metodo
initXlet:
metodo destroyXlet:
scene.removeKeyListener((KeyListener)this). Come mostrato in Tabella 3 gli eventi
associati alla pressione dei un tasto del telecomando definiti nell'MHP sono
solamente quelli numerici, le frecce di navigazione, il tasto “OK”, il tasto teletext e i
quattro tasti colorati (rosso,verde,giallo,blu).
Imput Event
VK_0 to VK_9
VK_UP
VK_DOWN
VK_LEFT
VK_RIGHT
VK_ENTER
VK_TELETEX
VK_COLORED_KEY_0
VK_COLORED_KEY_1
VK_COLORED_KEY_2
VK_COLORED_KEY_3
Tabella 3. Elenco eventi del telecomando
60
CAPITOLO 3.
LO STANDARD MHP
Da notare che lo standard MHP non definisce eventi per i tasti “EXIT” e “BACK”
che sono presenti sulla
quasi
totalità dei decoder e comunque gestiti da
org.havi.ui.event.HRcEvent ma potrebbero generare eventi non-standard e non
sempre coerenti sui diversi apparecchi.
61
CAPITOLO 4.
Capitolo 4
AMBIENTE E SVILUPPO
4.1 Definizione degli strumenti di lavoro
Dopo aver visto nei capitoli precedenti le tecnologie usate nel digitale terrestre e le
caratteristiche principali di un’applicazione MHP, andremo a proporre come è
possibile realizzare l’ambiente di sviluppo per l’implementazione, debug e test di una
Xlet. Per l’implementazione, come prima cosa, si avrà bisogno di un PC con
installata una Java Virtual Machine e magari un programma di sviluppo Java, come
Eclipse, per evitare errori di sintassi. Per la fase di debug e una prima fase di test è
molto utile utilizzare un simulatore per applicazioni MHP, per vedere errori in fase
di compilazione. Per la fase di test vera e propria ci sono due modi di procedere:
•
il primo consiste nel simulare un broadcaster; necessità di un modulatore
COFDM al quale in ingresso verrà mandata l’applicazione insieme ad un
eventuale flusso video, mentre in uscita vi sarà collegato uno (o più) Set Top
Box commerciali;
•
il secondo, che è quello che poi andremo ad analizzare in dettaglio, consiste
nell’acquisto di un Set Top Box da sviluppo, che a differenza di quelli
commerciali, permette l’ upload di applicazioni non solo dall’etere, ma anche
in locale, tramite porta seriale (RS-232).
62
CAPITOLO 4.
AMBIENTE DI SVILUPPO
4.2 Simulatore XletView
Tra i vari software freeware di simulazione per applicazioni MHP che si trovano in
rete, spicca XletView, distribuito da GNU General Public License (GPL) , scaricabile
all’indirizzo www.sourceforge.net. Per l’installazione si richiede che sul PC sia
presente una Java Virtual Machine a partire da JRE 1.4, JSDK1.4 o versione
superiore, della Sun; mentre all’interno del pacchetto troviamo già le API JMF 2.1.1
(Java Media Framework) che servono per incorporare media-data come audio e video
nelle applicazioni Java, applets e Xlet. Dopo aver installato il simulatore bisogna
copiare nella cartella base, le API Javatv scaricabili dal sito della Sun, praticamente
le directory presenti devono essere:
Figura 22. Directory XletView
A questo punto non ci dovrebbero essere problemi per l’avvio del programma; è
importante che insieme alla finestra principale ne compaia anche un’altra, dove
verranno scritti gli eventuali messaggi d’errore, insieme ai messaggi di debug voluti
dal programmatore, ovvero tutti i System.out.println presenti nella Xlet.
Per fare ciò è necessario scrivere la seguente riga di comando, magari mettendola in
un file batch:
63
CAPITOLO 4.
AMBIENTE DI SVILUPPO
cd xletview
java -cp
%CLASSPATH%;javatv_fcs/javatv.jar;xletview.jar;jars/metouia.jar;jars/javassist.jar;
jars/nanoxml-2.2.3.jar net.beiker.xletview.Main
cd ..
Ora le finestre visibili dovrebbero essere le seguenti come mostrato in figura 23 e 24.
Figura 23. Finestra principale XletView.
Nella schermata principale vengono visualizzati:
•
a destra il telecomando con tutti i tasti per simulare, mediante mouse, la
periferica d’ingresso;
•
nel riquadro giallo l’eventuale background l ayer,
video layer e il
graphics layer;
•
i menù per poter eseguire la nostra applicazione.
Dal menu Applications, sotto ManageApplication, bisognerà inserire il classpath e il
64
CAPITOLO 4.
AMBIENTE DI SVILUPPO
nome della classe principale della Xlet.Una volta che l’applicazione è stata mandata
in “run”, dalla schermata di debug mostrata in figura 22, sarà possibile vedere gli
eventuali errori e messaggi.
Figura 24. Finestra di debug XletView
Mentre si programma bisogna tener conto che a differenza del PC, dove abbiamo a
disposizione tutte le API fornite dal JR1.4, sul Set Top Box vi è una versione ridotta
della JVM , quindi bisogna fare attenzione alle specifiche sulle API che si andranno
ad usare messe a disposizione su www.mhp.org e www.dvb.org, altrimenti si rischia
di sviluppare applicazioni che “girano” solo su simulatore.
4.3 Set Top Box da sviluppo ADB X-75
Per completare il ciclo di sviluppo di una applicazione MHP, dopo che è stata
sviluppata con Eclipse e mandata in esecuzione su Xletview, manca solo la fase
finale di test, che come abbiamo detto consiste nel caricare l’applicazione su un Set
Top Box da sviluppo. Riassumendo il nostro ambiente di sviluppo quindi sarà
65
CAPITOLO 4.
AMBIENTE DI SVILUPPO
costituito da un Personal Computer, da una normale TV munita di presa SCART e da
il Set Top Box da sviluppo ADB X-75.
Le interconnessioni tra gli apparati appena elencati, come mostrato in figura 25,
sono:
• il STB riceve in ingresso il segnale televisivo (da una comune antenna);
• collegato tramite SCART del STB alla TV, e tramite seriale RS-232 al PC;
Figura 25. Ambiente di sviluppo
66
CAPITOLO 4.
AMBIENTE DI SVILUPPO
4.3.1 Caratteristiche Tecniche
Una delle più prestigiose ditte che forniscono strumenti per lo sviluppo in campo
broadcast è l’ADB, acronimo di Advanced Digital Broadcast. La serie X-75
comprende Decoder da sviluppo per tre tecnologie: Cable, Satellite, Terrestrial, in
conformità con lo standard DVB, quindi è più corretto chiamare il nostro strumento
ADB T.75. Andiamo ad elencare innanzitutto i componenti e le caratteristiche
Hardware mostrate nella seguente tabella 4.
ARCHITETTURA
DESCRIZIONE
CPU Sti5517 166MHz
Tuner/fFront end DVB-T
Flash Memory 16 MB
RAM Memory 72 MB
EEPROM 32 KB
Power Supply 90-264 VAC, 47-63Hz
Casing 440x260x50mm
OUTPUTS
RF input/output RF in &RF out (loop trought)
Audio/Video outputs 2xRCA (Stereo Audio), 2xScart. S/PDIF optical
Return channel Ethernet 10BaseT, PSTN modem v.92
Data port Debug serial port (RS-232 up to 115.2 kbps)
Front panel display 4x7-segment LED display, 2 LEDs
DVB-CI slot Located on front panel
Smart card slot Located on front panel
MPEG VIDEO DECODING
67
CAPITOLO 4.
AMBIENTE DI SVILUPPO
ARCHITETTURA
DESCRIZIONE
Standards MPEG-2 MP@ML, CD ISO/IEC 13818-1, CD
ISO/IEC13818-2
Video Data Rate 0.5 – 15 Mbps
Format Conversion 4:3 > 16:9 with Pan & Scan and Letterbox
Graphics Planes 4 planes(Background, Still-plane, Video, OSD)
AUDIO DECODING
Standards MPEG-1 Layer 1&2; 16 bit precision, CD ISO/IEC 13
Sampling Rate 32 kHz, 44.1 kHz, 48 kHz
Variable Output Level 16 steps @ 2dB per step
DOLBY Digital AC3 Pass throught to S/PDIF
TERRESTRIAL FRONT END – T.75
COFDM (DVB-T) ETSI EN 300 744
Modulation QPSK, QAM16, QAM64
Code rate ½, 2/3, ¾, 5/6, 7/8
Guard Interval ¼, 1/8, 1/16, 1/32
Transmission modes 2K, K8
Tabella 4. Componenti e caratteristiche del ADB X-75
Un STB di buon livello, reperibile attualmente in commercio, presenta sicuramente
le seguenti caratteristiche:
• modem V.90;
• lettore Smart Card;
• doppia presa SCART;
• uscita audio RCA;
• uscita audio ottica;
• connettore seriale RS-232 per eventuali periferiche di ingresso;
Il nostro Set Top Box da sviluppo, oltre ad avere tutte le caratteristiche di un normale
68
CAPITOLO 4.
AMBIENTE DI SVILUPPO
decoder, presenta:
• una maggior capacità di elaborazione (frequenza processore più elevata)
• una maggiore capacità di memorizzazione;
• interfaccia Ethernet;
• CI Common Interface;
• presa seriale RS-232 bidirezionale (permette l’upload dell’applicazione e il
debug).
4.3.2 Procedure di aggiornamento del Firmware
Prima di passare all’upload di un’applicazione è necessario aggiornare il firmware
fornito dalla casa madre. Il software che risiede nel Set Top Box (STB), consiste in
due parti principali: il decoder code e il loader.
Il decoder code, anche chiamato codice di alto livello, è responsabile della ricezione,
codifica e visualizzazione di audio/video, e altri componenti come teletext,
sottotitoli, etc.
Il loader non mostra ne video ne audio, ma visualizza all’utente alcune informazioni
riguardanti le fasi del processo o errori di download. L’ADB fornisce insieme al STB
un software chiamato ADB FastTerm, che interagisce con il loader per aggiornare il
firmware tramite la porta RS-232.
L’applicazione di cui sopra, si mostra come in figura 24; prima di utilizzarla per
prima cosa bisogna impostare il numero della porta COM (dal menù a tendina), sulla
quale è connesso il STB, assicurandosi che questa sia settata con i seguenti
parametri:
• Baud rate
• N° bit di dati
• Parità
• N° bit di stop
115200
8
NO
1
69
CAPITOLO 4.
AMBIENTE DI SVILUPPO
A questo punto, dal menù File - Open download file, si va ad aprire il file contenente
l’aggiornamento (*.enc), si spegne il STB per almeno 2 secondi, si tiene premuto il
tasto freccia sinistro situato sul pannello frontale e contemporaneamente si riaccende
il STB. Il tasto deve continuare ad essere premuto fino a che non si accendono i LED
frontali, a questo punto si lascia il pulsante e inizia il download del firmware sul
STB; in questa fase la barra sulla destra dell’applicazione inizia a colorarsi fino ad
arrivare al 100%.
Figura 26. Finestra FastTerm
4.3.3 UpLoad e debug di un’applicazione
La ditta produttrice del STB oltre al software “FastTerm”, fornisce anche l’ADB
APPLOADER che permette di trasferire la nostra applicazione, dal PC alla memoria
del decoder, sempre tramite porta seriale. In realtà la comunicazione tra i due
70
CAPITOLO 4.
AMBIENTE DI SVILUPPO
dispositivi deve passare attraverso un secondo programma, che fa da Proxy, il quale
può risiedere localmente o trovarsi in un’altra macchina, l’importante è che abbia un
indirizzo IP valido e che sia connessa al STB. Quando si fa partire il Proxy, bisogna
specificare il numero di porta COM (con gli eventuali settagli) dove è connesso il
STB e il nome del file di log comprensivo di classpath; questo programma lavora
usando il protocollo TCP sulla porta standard 4444, a meno che non specificato
diversamente. Il file di log è un file di testo che viene generato dal STB ed è proprio
questo che viene usato, in maniera simile al simulatore, come strumento di debug. La
riga di comando con le varie opzioni e un’ esempio per inizializzare il Proxy sono:
stbproxy.exe -com <port_number>[-port <TCP port number>]
[-rate<115200,8,N,1>][-log <logfile>]
stbproxy.exe –com 3 –log c:\stb.log
Lavorando sotto Windows apparirà un’icona sulla barra degli strumenti, dove è
possibile accedere, tra le altre cose, all’opzione “svuotare” il file di log. L’ultima
cosa da fare prima di passare all’ upload, è configurare il STB, a questo ci pensa un
terzo tool chiamato “stbconfig” al quale bisogna specificare l’indirizzo IP dell’host
dove si trova il Proxy e l’eventuale numero di porta, se non si usa quella di default; il
suo scopo è quello di abilitare/disabilitare l’opzione di debug output e security
manager. La riga di comando con le varie opzioni e un’ esempio per configurare il
STB ipotizzando che il Proxy sia in locale, si usi il numero di porta TCP di default e
si attivi solo l’opzione di debug sono:
stbconfig.exe proxy_host_IP[:port] [-debug] [-security]
stbconfig.exe localhost -debug
Dopo aver effettuato la configurazione del STB si richiede il riavvio dello stesso.
Finalmente siamo arrivati alla fase finale, il Proxy è in running, il STB è configurato,
ora manca di avviare il trasferimento dell’applicazione. Il tool stbupload richiede l’IP
del proxy, il nome del description file (vedremo in seguito cosa sia) completo di
71
CAPITOLO 4.
AMBIENTE DI SVILUPPO
classpath, e il classpath della directory base dov’è contenuta l’applicazione (*.class e
file accessori). La riga di comando con le varie opzioni e un’ esempio per fare
l’upload di una applicazione contenuta nella directory c:\xlet\class, supponendo il
Proxy in locale con porta di default sono:
stbupload <proxy_host[:port]> <xlets_descr_file> <pc_base_dir>
stbupload localhost c:\xlet\xlet_desciption_file c:\xlet\class
Ora l’applicazione è copiata nella directory /home del file system del STB.
4.3.4 Xlet description file
L’Xlet description file riflette il contenuto della tabella AIT (Application
Identification Table); contiene tutte le informazioni e i parametri utili per
l’identificazione e l’esecuzione dell’applicazione da parte del Set Top Box.
Vediamone un’ esempio:
Parametri obbligatori:
#app <Application ID> <Organisation ID>
app
0xhex_number 0xhex_number
#Application control flag: 1=autostart 2=present 3=destroy 4=kill
control 1
#service bound flag (0 or 1)
bound
0
#Basedir of application (must be relative to /home directory)
basedir "/home"
#Initial class name (fully qualified name)
class "your.company.Test"
Parametri opzionali:
#Name of application preceded by language code
72
CAPITOLO 4.
AMBIENTE DI SVILUPPO
name
eng "Test"
#Parameter of service on which the application should be visible to application
manager
tsid
0x7
onid
0x46
svid
0x2bd
#other flags
priority 137
visibility 3
#Classpath extension
classpath ""
#String params passed to Xlet
param = "value 0"
param = "value 1"
Ora cercheremo di spiegare in dettaglio i campi principali:
App:
Ogni organizzazione che produce Xlet, deve essere r iconosciuta, ed
avere un codice identificativo univoco, in più ogni applicazione prodotta
da
quell’
organizzazione
deve
anch’essa
essere
riconoscibile
univocamente. Questo per permettere al STB di non eseguire
applicazioni maligne non riconosciute.
bound:
Questo flag dice se si tratta di una applicazione bound (1) legata al canale
e alla trasmissione o unbound (0) non legata alla trasmissione o
addirittura non legata al canale (quindi disponibile indifferentemente dal
canale su cui si è sintonizzati); basedir campo contenente il classpath di
destinazione dell’applicazione del file system nel STB (deve essere
relativo a /home);
73
CAPITOLO 4.
class:
AMBIENTE DI SVILUPPO
Deve contenere il nome della classe principale dell’applicazione (per
es.:“main.class” )
name:
Specifica il codice della lingua usata e il nome, relativo all’applicazione,
che comparirà sull’Application Manager;
priority:
Nel caso in cui l’opzione “autostart” sia settata (nel menu di base del
STB) e nell’Application Manager, vi sono più di una Xlet caricata con il
control flag=1, il STB manda in esecuzione l’applicazione con la priorità
più alta.
Control: Questo flag dice al STB come si deve comportare con l’applicazione che
ha ricevuto: se = 1 la manda in esecuzione appena caricata (per avvenire
effettivamente l’esecuzione, nelle impostazioni base del STB deve essere
abilitata l’opzione autostart); se = 2 il STB riceve l’applicazione è la
mette disponibile nell’application manager, sarà l’utente poi a decidere
quando farla avviare (premendo app oppure OK, in base al modello di
decoder, si visualizzano le applicazioni disponibili); se =3 viene distrutta
(si usa se caricata con autostart); se =4 viene killata (si usa se caricata
con present).
74
CAPITOLO 5.
PROGETTO E SVILUPPO DEL PORTALE INFORMATIVO
Capitolo 5
PROGETTO E SVILUPPO DEL PORTALE INFORMATIVO
5.1 Problematiche di accessibilità
Dovendo sviluppare un'applicazione di tipo sociosanitario la fruibilità, ovvero di
come limitare l’emarginazione di larghe fasce di utenza, è stato il punto cardine per
la decisione della forma e dei contenuti di questo progetto, a tal fine il lavoro svolto
insieme ai dirigenti e ai tecnici del sistema informativo ci ha consentito un più
accurato e efficace approccio allo sviluppo. Bisogna tener conto che per la diversa
natura tecnica del mezzo televisivo rispetto al Personal Computer non è realizzabile
una semplice trasposizione delle esperienze maturate in termini di accessibilità ai siti
Web. Primo e fondamentale ostacolo è l’impossibilità di applicare al televisore
tecnologie assistive esterne o di personalizzarne il funzionamento. La problematica è
così recente da rendere concretamente impossibile una strategia basata su esperienze
consolidate. Alcune considerazioni di massima sulla questione dell’accessibilità delle
applicazioni MHP sono tratteggiate nel seguito con riferimento alle principali
tipologie di disabilità [12].
5.1.1 Disabilità Visive
Visto il panorama delle sperimentazioni in corso si evince chiaramente che allo stato
attuale sarebbero esclusi da una qualsiasi fruizione dei servizi MHP categorie di
disabili quali i non-vedenti o gli ipovedenti gravi. La presenza costante del canale
audio dell’emittente di sottofondo renderebbe inutile, anche qualora fosse
realizzabile, la navigazione o la fruizione dei contenuti informativi attraverso il
canale uditivo. Interessante potrebbe essere la sperimentazione di applicazioni
75
CAPITOLO 4.
AMBIENTE DI SVILUPPO
informative o di servizio orientate ai non-vedenti su canali privi di flussi audio-video
generati da emittenti televisive. Per quanto riguarda gli ipovedenti meno gravi è
consigliabile tenere in considerazione la grandezza del testo e il suo contrasto con lo
sfondo (preferibilmente opaco). Per coloro che soffrono di disturbi della percezione
del colore potrebbe essere difficile cogliere informazioni o meccanismi di
navigazione legati all’uso dei quattro colori scelti come standard su applicazioni e
telecomandi. Occorre ricordare che tra le varie gradazioni e tipologie di daltonismo
esistono casi che portano all’impossibilità di distinguere il rosso dal verde oppure il
blu dal giallo. Sarebbe utile studiare soluzioni diverse per la navigazione
considerando che un individuo di sesso maschile su dodici è affetto da parziale o
totale daltonismo.
5.1.2 Disabilità Uditive
La comunità dei disabili uditivi è senz’altro quella che maggiormente può trarre
vantaggio dal potenziamento dei servizi grafico-testuali offerti dalle emittenti
televisive digitali. Occorre in ogni caso puntare su un linguaggio chiaro e poco
pesante dal punto di vista della sintassi del periodo e considerare la possibilità di
offrire un equivalente testuale alternativo per flussi audio recanti informazioni
importanti.
5.1.3 Disabilità Motorie
Essendo il telecomando l’unico mezzo d’interazione con il decoder digitale
potrebbero venirne escluse tutte le categorie di persone che hanno problemi relativi
alla mobilità fine. Esistono tuttavia soluzioni ausiliarie come telecomandi
programmabili e adattabili alle necessità del singolo individuo, pensate già per
rendere totalmente accessibili ambienti domotici.
76
CAPITOLO 4.
AMBIENTE DI SVILUPPO
5.1.4 Disabilità Neuro-Cognitive
Raccomandazioni in questo campo sono difficili da delineare, soprattutto per quanto
riguarda i disturbi più gravi. Si possono dare però delle indicazioni per facilitare
l’utilizzo di queste tecnologie da parte di alcune categorie di persone. Il ricorso a un
linguaggio misto testuale-iconografico può per esempio essere di molto aiuto per
indicare i meccanismi di navigazione delle pagine. Per i dislessici in particolare è
importante anche che i testi siano scritti in caratteri chiari e con sfondi che non
interferiscano con la loro percezione. Le persone con disturbi della concentrazione
trarrebbero vantaggio dall’assenza all’interno di una pagina di oggetti in movimento.
Particolare attenzione va anche rivolta all’utilizzo di effetti grafici, quali
lampeggiamenti con frequenze elevate, che potrebbero causare disturbi da epilessia
fotosensibile.
5.2 Elementi di Usabilità del Web adattabili alle applicazioni MHP
Per quanto riguarda l'usabilità delle applicazioni MHP, tornano in gran parte utili le
raccomandazioni relative ai siti e alle applicazioni del Web, di cui si riportano di
seguito alcuni punti salienti.
Percezione: le informazioni e i comandi necessari per l’esecuzione dell’attività
devono essere sempre disponibili e percettibili. Esempi:
•
strutturare l’informazione su più livelli: dalla sintesi al documento completo;
•
stabilire una scala di importanza per le informazioni contenute in una pagina
e presentarle in ordine decrescente : prima le più importanti;
•
aumentare la leggibilità dei contenuti utilizzando frasi brevi e facilmente
identificabili;
•
evitare pagine troppo lunghe.
77
CAPITOLO 4.
AMBIENTE DI SVILUPPO
Uso: le informazioni e i comandi necessari per l’esecuzione delle attività devono
essere facili da capire e da usare. Esempi:
•
utilizzare un linguaggio comprensibile alla grande maggioranza dei
destinatari;
•
prevedere un glossario dei termini tecnici;
•
ridurre al minimo possibile le operazioni necessarie al raggiungimento di un
obiettivo.
Consistenza: stessi simboli, messaggi e azioni devono avere gli stessi significati in
tutto l’ambiente. Esempi:
•
presentare informazioni e funzioni simili in maniera consistente in tutta
l’applicazione: loghi, titoli delle pagine, elementi di navigazione, ecc… ;
•
rendere coerente l’impostazione grafica delle pagine in tutta l’applicazione;
•
mantenere un aspetto grafico coerente per tutti i collegamenti presenti
nell’applicazione;
•
utilizzare lo stesso tipo di carattere utilizzato per la presentazione di un
oggetto in tutte le sue occorrenze nell’applicazione.
Salvaguardia della salute (safety): capacità dell’ambiente di salvaguardare e
promuovere il benessere psicofisico dell’utente.
Esempi:
•
assicurarsi che il movimento degli oggetti, se presente, non provochi disturbi
da epilessia fotosensibile;
•
assicurasi che la gestione degli elementi grafici e del contrasto testo/sfondo
siano tali da non disturbare la vista;
•
scrivere testi in modo tale da non stancare la vista.
78
CAPITOLO 4.
AMBIENTE DI SVILUPPO
Sicurezza: capacità dell’ambiente di fornire transazioni e dati affidabili, gestiti con
adeguati livelli di sicurezza e riservatezza.
Esempi:
•
dichiarare in modo esplicito le politiche adottate per la sicurezza delle
transazioni;
•
dichiarare in modo esplicito le politiche adottate per la tutela della privacy
delle informazioni.
Trasparenza: l’ambiente deve comunicare il suo stato e gli effetti delle azioni
compiute. All’utente devono essere comunicate le necessarie informazioni per la
corretta valutazione della dinamica dell’ambiente.
Esempi: fornire agli utenti informazioni (feedback) su: dove si trovano, cosa possono
fare, dove possono andare;
Apprendibilità: capacità dell’ambiente di consentire l’apprendimento del suo utilizzo
da parte dell’utente in tempi brevi e con minimo sforzo.
Aiuto e documentazione: fornire funzioni di aiuto come guide in linea e
documentazione relativi al funzionamento dell’ambiente. Le informazioni di aiuto
devono essere facili da trovare e focalizzate sul compito dell’utente.
Esempi:
•
fornire agli utenti informazioni su dove si trovano, cosa possono fare, dove
possono andare;
•
prevedere che la documentazione e l’help, quando presenti, siano facilmente
raggiungibili da ogni pagina e scritti in modo conciso.
79
CAPITOLO 4.
AMBIENTE DI SVILUPPO
Tolleranza agli errori: l’ambiente deve prevenire gli errori e, qualora questi
accadano, devono essere fornite le modalità per recuperare in modo semplice
eventuali errori di interazione e devono essere forniti appropriati messaggi che
indichino chiaramente il problema e le azioni necessarie per recuperarlo.
Esempi: guidare l’utente passo passo nelle operazioni complesse.
Gradevolezza: capacità dell’ambiente di favorire e mantenere l’interesse dell’utente.
Esempi: presentare la pagina in modo gradevole e con contenuti leggibili a diverse
dimensioni dello schermo.
Per concludere, è anche auspicabile da parte dei produttori una maggiore
propensione alla standardizzazione degli strumenti di interazione con il decoder
(telecomando), ed un più meditato ricorso alla miniaturizzazione dello stesso e dei
suoi pulsanti. Altrettanto auspicabile sarebbe da parte delle emittenti concorrenti, un
utilizzo più coerente e omogeneo dei meccanismi di navigazione delle applicazioni
MHP.
5.3 Scelta dei contenuti e analisi della struttura
Come abbiamo visto nei paragrafi precedenti i temi dell'accessibilità e dell'usabilità
non possono essere trascurati, anzi partendo da essi il progetto si è modellato fino a
raggiungere la sua forma definitiva di portale informativo. L' architettura scelta
dunque risulta essere di tipo orizzontale, ad ogni colore del telecomando è stato
deciso di assegnarli un determinato filone d’informazioni, tratte dal sito ufficiale
dell' Azienda ASUR Zona 7 Ancona (http://www.asurzona7.marche.it), e sono:
menu
[rosso];
farmacie
[verde];
medici
[giallo];
numeri di telefono [ blu ];
80
CAPITOLO 4.
AMBIENTE DI SVILUPPO
Nella categoria Menu, troviamo tutte le informazioni di carattere generale, esse
spaziano dalla storia della riorganizzazione del Servizio Regionale Sanitario, alla
descrizione dello spazio pubblico fino alla definizione dei servizi offerti dall'ente in
oggetto. Nella
categoria Farmacie invece, è presente un elenco completo delle
farmacie interne all'area di competenza dell'ASUR 7, divise per quartiere. Il terzo
filone riguarda la distinzione tra medico generico e medico pediatra, ed ancora, per
facilitare la ricerca, questi sono divisi in sotto categorie. Infine nell'area numeri di
telefono, c'è una ben posta e ricca rubrica dei diversi uffici, laboratori e centralini. La
struttura orizzontale, consente di spostarsi da una sezione all'altra del portale agendo
semplicemente con i tasti colorati indipendentemente dalla posizione in cui ci trova.
Figura 27. Struttura base del servizio
Per entrare in profondità, come nell'esempio della ricerca di un particolare numero di
telefono, basterà utilizzare il tastierino numerico del telecomando, per passi
successivi si giungerà quindi al numero cercato. Questa procedura è riportata in
Figura 28.
81
CAPITOLO 4.
AMBIENTE DI SVILUPPO
Figura 28. Esempio di acquisizione dell'informazione richiesta.
5.4 Descrizione del portale e debug degli errori
Dopo aver definito le basi costruttive, struttura e contenuti, il lavoro si è incentrato
nella programmazione vera e propria, quindi nella realizzazione delle classi java che
costituiscono la Xlet. A questo scopo abbiamo cercato di sviluppare un programma
che potesse essere il più possibile espandibile, infatti la corretta definizione di talune
classi, consente una più semplice evoluzione futura del programma.
La scrittura del codice è stata seguita da una frequente verifica dei risultati tramite
simulatore XletView, la quantità di tempo necessaria al fine di correggere gli errori
sia grafici che di programmazione, può essere stimato intorno al 30% . Ci siamo resi
conto che molto tempo è stato speso quasi inutilmente seguendo univocamente le
indicazioni fornite dal simulatore, infatti, anche se si seguono scrupolosamente le
indicazioni fornite dai manuali di programmazione, esiste sempre una discordanza tra
l'applicazione simulata su Pc e quella reale sul Set Top Box, questo è dovuto
a
diversi fattori:
•
il Pc ha una capacità grafica; risoluzione e profondità di colore, che il
normale monitor Tv non possiede;
•
le librerie e le versioni del Java Virtual Machine in uso sul Pc possono non
corrispondere o essere gestite in ugual maniera dal decoder;
82
CAPITOLO 4.
AMBIENTE DI SVILUPPO
Superati gli ostacoli sopra citati siamo giunti quindi alla completa realizzazione del
portale. Le figure seguenti mostrano il prodotto finito, così come si è presentato ai
dirigenti dell'Azienda ASUR 7. La prima operazione è stata quella di caricare la Xlet
sul Set Top Box seguendo le istruzioni riportate nei paragrafi precedenti e ponendo
ad 1 l'Application control flag nell'Xlet description file; è bene precisare che tale
operazione deve essere svolta agganciando l'applicazione interattiva ad un canale già
presente e correttamente
visualizzato sul televisore, se così non si facesse, l'
Application Manager non sarebbe in grado di porre in fase “Start” il programma
Java, ottenendo così solo una schermata vuota sulla Tv e una “Pause Mode” nel file
di debug restituito dal decoder.
Per avvertire l'utenza che sul canale televisivo è presente un'applicazione interattiva,
è stato posto in alto a sinistra un tasto pilota (Figura 29.), attraverso il quale sarà
possibile accedere al portale informativo, per non arrecare disturbo al telespettatore
tale tasto si riduce di dimensioni dopo 10 secondi.
Figura 29. Esecuzione della Xlet e tasto pilota.
83
CAPITOLO 4.
AMBIENTE DI SVILUPPO
Figura 30. Esecuzione della Xlet e scomparsa del tasto pilota.
La Xlet risulta già caricata ma risiede nascosta all'utente, nel momento in cui si
preme il tasto rosso inizieranno le procedure di caricamento del Background, delle
immagini e delle scritte presenti sul portale, tale operazione richiede alcuni secondi a
fine dei quali il risultato sarà quello mostrato in Figura 31.
Si può notare già da questa pagina, che nella parte bassa, viene visualizzata una
piccola guida che accompagnerà l'utente in tutta la navigazione del portale, scelta
d'obbligo che insieme ai colori, al contrasto tra sfondo e scritte e alla dimensione
delle lettere del testo, aumenta il grado di accessibilità del servizio.
Come già spiegato nel paragrafo 5.3 ad ogni colore è associato un particolare
contenuto informativo; in questo caso si suppone di voler accedere al contenuto
Farmacie e quindi dopo aver premuto il tasto verde apparirà la schermata mostrata in
Figura 32.
84
CAPITOLO 4.
AMBIENTE DI SVILUPPO
Figura 31. Pagina d'ingresso del portale
Figura 32. Esempio di navigazione.
85
CAPITOLO 4.
AMBIENTE DI SVILUPPO
La ricerca di una farmacia in zona centro verrà eseguita premendo il tasto numerico
1, così facendo la ricerca si affina e la schermata diviene:
Figura 33. Ricerca farmacia zona centro
Analizzando questa schermata notiamo come la guida a fondo schermo si sia
modificata, aggiornandosi nei contenuti, anche l'intestazione cambia notificando che
ora ci si trova nella sezione “Farmacie di Ancona in Zona Centro”. La lista delle
farmacie è presentata in ordine alfabetico e per una più semplice consultazione tale
lista è stata divisa in più pagine, tale particolarità viene messa in risalto dalla
comparsa di un apice che indica il numero di pagine complessivo e la pagina che si
sta attualmente consultando. Specifico che tale funzionalità è automatica, nel senso
che la suddivisione in pagine viene effettuata da una particolare classe chiamata
MyText, essa prende come oggetto un file *.txt e lo suddivide contando le lettere e le
righe. In appendice viene riportato il codice delle principali classi, le restanti
rimangono di assoluta libertà di definizione per gli sviluppi futuri.
86
CAPITOLO 4.
AMBIENTE DI SVILUPPO
5.5 Analisi di confronto tra applicativi in ambito Sanitario
Da un'analisi delle applicazioni esistenti e attualmente disponibili, risulta che in
ambito sanitario l'unica realtà presente nello scenario dei servizi è il portale creato
dalla Regione Lombardia, esso è raggiungibile sintonizzando il proprio Set-Top-Box
sul canale in corrispondenza dell'emittente di Canale5. Richiamando i contenuti
speciali con il tasto rosso verrà visualizzata una schermata in cui sono raccolti tutti i
contenuti, pubblicità interattive, giochi on-line, ecc. Scorrendo il menù si decide
quale delle applicazioni si voglia visionare e quindi premendo il tasto ok si da inizio
alla procedura che porterà all'esecuzione della Xlet scelta.
Figura 34. Portale d'accesso ai numerosi servizi interattivi
5.5.1 Analisi del contenuto
Accedendo al portale siamo accolti da una grafica semplice, a sfondo pastello color
sabbia, e dalla presenza di tre pulsanti, che suddividono il portale in tre aree di
interesse, ROSSO (la carta), VERDE (farmacie di turno) e GIALLO (servizi per la
salute) posti nella parte alta della pagina. Si nota come il tema principale su cui ruota
il progetto sviluppato dalla Regione Lombardia, sia l'utilizzo della CNS (Carta
Nazionale dei Servizi). Infatti, il numero delle informazioni non direttamente
collegate all'uso della smart-card si limitano alle sole farmacie di turno. I menù sono
87
CAPITOLO 4.
AMBIENTE DI SVILUPPO
gestiti tramite meccanica di scorrimento dei pulsanti, quindi si richiede l'uso delle
frecce direzionali posti sul telecomando.
Figura 35. Pagina iniziale della Xlet Lombarda
Selezionando il contenuto evidenziato dal colore rosso, entriamo in una sezione
puramente informativa dove vengono descritte le proprietà della scheda personale e
se ne verifica la certezza della connessione e dei dati, infatti non inserendo la tessera
compare una schermata di colore diverso, che da eventuali consigli all'utilizzatore
per riuscire nella connessione e successiva autenticazione.
Figura 36. Informazioni sulla carta
Figura 37. Procedura di autenticazione
Premendo il tasto verde si accede alla ricerca della farmacia di turno, questa è
suddivisa per capoluoghi o comuni di provincia, anche qui la grafica risulta di
immediata comprensione e facilità d'uso. La sezione di maggiore interesse è
certamente quella riguardante i servizi offerti al cittadino, per entrare in questa
sezione del portale,occorre premere il tasto giallo posto sul telecomando, l'unica
88
CAPITOLO 4.
AMBIENTE DI SVILUPPO
attività possibile risulta essere quella della scelta/revoca del medico.
Figura 38. Ricerca per capoluoghi
Figura 39. Servizi che hanno bisogno dell'autenticazione forte
La differenza principale che contraddistingue il progetto da noi sviluppato, per conto
dell'Azienda Sanitaria Asur Zona 7 di Ancona, è la sua natura di essere un portale
informativo, a cui l'utente può accedere per ottenere informazioni di carattere
generale, dalla lista dei medici generici/pediatra, alla suddivisione per zone della città
delle diverse farmacie esistenti sul territorio, fino ad arrivare a una rubrica fornita di
tutti i recapiti telefonici.
Posso sottolineare tre caratteristiche della Xlet creata
per conto della Regione
Lombardia, per quanto riguarda l'uso dei servizi offerti della smart-card, la prima è
la necessarietà di possedere la CNS , la seconda è il vincolo di compatibilità con i
soli BOX ADB e Telesystem, la terza è la presenza e uso, del canale di ritorno del
89
CAPITOLO 4.
AMBIENTE DI SVILUPPO
decoder. Infatti per verificare la correttezza dei dati, e per visualizzare le
informazioni personali, è necessario creare una connessione bidirezionale tra SetTop-Box e il server che gestisce il data-base. Queste due caratteristiche rendono la
Xlet da un punto di vista dello sviluppo tecnologico, sicuramente all'avanguardia, ma
al contempo, sacrifica la possibilità di offrire altri tipi di servizi al cittadino,
allorquando esso non disponga della CNS, del particolare box o del canale di ritorno.
5.6 Sviluppi futuri
Le opportunità offerte dalla piattaforma mhp sono innumerevoli, gli sviluppi che
seguiranno a questo progetto pilota potranno spaziare dall’integrazione di un servizio
di prenotazioni, ad una grafica più ricercata e ben posta, un lavoro di integrazione tra
Asur 7 e programmatori potrà sicuramente rendere ancor migliore il servizio e
renderlo all’avanguardia in questo settore.
90
CONCLUSIONI
CONCLUSIONI
La realizzazione del portale per conto dell'Asur 7 ha necessitato di uno studio
preliminare del nuovo standard e del codice su cui poggia, seguita da una fase
realizzativa e conclusasi poi con il raffinamento dei contenuti e della grafica. Come
ho potuto verificare, comparando le stime di utilizzo tra il 2004 e il 2007, la TV
Digitale con particolare riferimento al DTT, rimane una percentuale minorante
rispetto agli altri strumenti tecnologici utilizzati dagli italiani. Le cause di questo
rallentamento possono essere imputate a diversi fattori:
•
legislatura inadeguata [la legge Gasparri non tutela e incentiva gli
investimenti alle piccole emittenti];
•
switch-off rimandato [l'utente non percepisce il bisogno nè di informarsi nè di
aggiornarsi tecnologicamente];
Partendo da questi presupposti, il pericolo maggiore è che si venga ad instaurare un
circolo vizioso che freni il corretto sviluppo di questa tecnologia. Infatti un basso
grado di investimenti differenziati (da parte di terzi e/o enti pubblici nei confronti
delle emittenti locali), portano a una bassa concorrenza per scarsità di canali e servizi
fruibili dall'utente, conseguenza quindi del rafforzamento delle Major (Mediaset e
R.A.I. in primis). Per invertire tale tendenza sarà quindi necessario: adeguare
l'elemento legislativo [un primo passo è il disegno di Legge Gentiloni], promuovere
un sistema di incentivo e di supporto per le emittenti che siano interessate
all'adeguamento tecnologico ed aumentare l'informazione all'utente e alle aziende,
dell'esistenza e opportunità di questa nuova piattaforma tecnologica. Superati questi
ostacoli rimarrà comunque la necessità di definire un ruolo saldo per il D.T.T., per
consentirgli di sopravvivere alla concorrenza nel mercato radio-televisivo, dove i
principali competitor sono:
TV-Satellitare;
IP-Tv [joost];
TV-Cable [Fasteweb, Alice TV];
91
CONCLUSIONI
La TV Satellitare, ormai realtà collaudata in Italia, rafforza di anno in anno la sua
posizione dominante facendo leva sulle caratteristiche che meglio la descrivono:
offerta variegata di canali free, alta qualità video e audio, promozioni e offerte per i
pacchetti pay. La IP-TV e la TV-Cable sono invece realtà relativamente nuove che
posseggono delle qualità indiscutibili, come: libertà di scelta di visione, servizi
interattivi ad alto livello, possibilità di integrazione di dispositivi multimediali.
Queste qualità sono però indiscutibilmente legate alla presenza di alcuni fattori
chiave: possesso e corretto uso del computer, connessioni a banda larga, stipula di
contratti con provider e difficoltà di gestione di multi-video. Tutto ciò porta alla
definizione di un pubblico di nicchia caratterizzato da un elevato tasso
d’informatizzazione.
Dall'analisi di questi molteplici aspetti sono arrivato alla conclusione che la TV
Digitale Terrestre per rafforzarsi e vincere le sfide di competitività future dovrà
puntare su due aspetti fondamentali:
•
elevato numero di canali free;
•
erogazioni di servizi semplici e di reale utilità.
Così facendo, il DTT conquisterà anche se non con la velocità attesa, sempre più
utenti, basandosi sul punto forte che la TV, inteso come elettrodomestico, rimarrà
sempre lo strumento tecnologico più usato dalle persone, uomini o donne, giovani o
anziani che siano.
92
RINGRAZIAMENTI
RINGRAZIAMENTI
Non è facile redigere una lista delle persone da ringraziare, si rischia sempre di ferire
qualcuno, certamente in questi anni di studio trascorsi tra libri e appunti, ho imparato
molto, l’autonomia è sicuramente l’aspetto che più cresce negli studenti che come
me passano l‘intera settimana lontani da casa, questo mi ha consentito però di
conoscere tante persone con cui ho condiviso tanti momenti belli e senza i quali, tutto
sarebbe stato più triste. La prima casa non si scorda mai, casa Lucchetti in cima a
quel colle che ogni volta sembra di scalare una montagna, i suoi inquilini mi hanno
accolto a braccia aperte e da subito mi hanno fatto sentire a mio agio. Il mio primo
coinquilino
Francesco
Marinucci,
una
persona
imperscrutabile,
dedito
al
divertimento ma anche alla serietà degli esami, almeno alla fine, come dimenticare le
giornate pigre e i lunghi discorsi di notte tra il freddo e l’umidità di quel sottotetto
tutto scassato. Valerio D’Ascanio, l’uomo che più di tutti in casa aveva il fare da
ingegnere, anche quando uccideva i ragni rossi che uscivano da ogni dove. Marcello
e Valerio Leonzio, la coppia fissa del piano di sotto, due persone esattamente agli
antipodi ma che insieme creavano l’essere perfetto, il primo sempre pronto a far
commedia, l’altro invece, dedito allo studio fino all’inverosimile. Con gli anni a
quest’ultimi si sono succeduti Cristian Censori, chiamato poi cirtirella e Piero Fani
detto Piero, persone cordiali e rispettose che hanno portato una ventata di tecnologia
in casa con la PlayStation, videoregistratore e mega-televisore. In questo periodo ho
conosciuto una molteplicità di persone che hanno arricchito la mia vita, tra questi
Luca Mutoschi, un’amicizia vera e forte, nata tra gli integrali di analisi 1 e che da
all’ora non si è più interrotta, grazie a lui pian piano ho stretto amicizia anche altri
personaggi, che di li a qualche anno sarebbero diventati i miei nuovi compagni di
casa. Francesco Orsatti detto setolo, Alfonso detto fustacchio, Francesco D’ Imperio
detto il roscio e Alessandro Troiano detto tanzi, e si, noi ci chiamavamo per
soprannomi. Con tutti loro ho vissuto due anni di vera amicizia e di reale
condivisione, come tradizione il mio compagno si chiamava Francesco ( setolo)
indimenticabili sono le missioni squadriste che facevamo nei confronti di Alfonso ma
soprattutto di Luca, i discorsi senza senso che duravano ore e quel tuo ciuffo che
93
RINGRAZIAMENTI
stressavi ogni volta che usavi il cervello. In quella casa avevamo tutto: l’atleta
professionista, Alfonso; il genio Francesco D’Imperio che prima di un esame diceva
“no oggi non ho studiato”, ma tornava sempre con un trenta, tanto che alla fine
neanche glielo chiedevamo più; il ragioniere Luca, come teneva i conti precisi lui
neanche un esperto in revisioni poteva contestare. Le persone di cui ho parlato ora,
sono quelle con cui ho più condiviso la mia vita universitaria, ma ce ne sarebbero
altre 20 da nominare e a tutti vanno i miei più sinceri grazie.
Voglio ringraziare il Professore Aldo Franco Dragoni che si è sempre dimostrato
cordiale e disponibile durante tutto il periodo di tirocinio, lui mi ha lanciato lungo
questa direzione che spero conduca a un futuro lavorativo,
Un grazie immenso va alla mia famiglia e in particolare a miei genitori, la loro
presenza è sempre stata discreta ma tenace, senza il loro appoggio non solo
economico sicuramente non sarei riuscito a concludere questo mio percorso. Ai miei
fratelli Andrea e Marco che con la loro ironia pungente mi hanno sempre ricordato la
mia posizione di studente a carico.
Un doveroso quanto sincero grazie va alla mia ragazza Valeria, insieme abbiamo
vissuto tutto l’iter formativo universitario, entrambi studenti ci siamo sempre capiti e
fatto forza uno con l’altra, mi ha sopportato dopo un’esame andato male e gioito ad
un risultato positivo, si è resa disponibile ad accompagnarmi e mi ha rimproverato
quando sembrava perdessi tempo. Sei stata una compagna di viaggio amorevole e
rassicurante che mi ha infuso coraggio.
94
APPENDICE
A
APPENDICE A: Codice Xlet
Classe MainXlet
/*
* Classe che implementa i metodi fondamentali necessari al funzionamento di una
* Xlet, affinchè questa possa essere caricata su Set-Top Box o su un emulatore,
* per esempio Xletview.
*/
// Per prima cosa, devono essere incluse le librerie necessarie
import java.awt.Color;
import java.awt.Font;
import java.awt.Toolkit;
import javax.tv.xlet.Xlet; //per creare, inizializzare, avviare, mettere in pausa e distruggere una
//xlet,operazioni effettuate dall'application manager
import javax.tv.xlet.XletContext; // per ottenere informazioni sull'ambiente di sviluppo della xlet, una
//volta che questa viene inizializzata
import javax.tv.xlet.XletStateChangeException; // per segnalare che il cambiamento di stato richiesto
//alla xlet è fallito
import org.dvb.event.*; // per determinare gli eventi possibili sulla xlet
import org.dvb.ui.DVBColor;
import org.havi.ui.event.*; // per determinare le capacità e le modalità di input da parte dell'utente
//della piattaforma su cui viene eseguita l'applicazione
import org.havi.ui.HScene; // per rappresentare l'area visualizzabile nello schermo (in realtà non viene
//creata, sono solo aggiunti i suoi componenti al contenitore)
import org.havi.ui.HSceneFactory; // per generare effettivamente un oggetto di tipo HScene
import org.havi.ui.HSceneTemplate;
import org.havi.ui.HStaticIcon;
import org.havi.ui.HStaticText;
public class MainXlet implements Xlet, UserEventListener {
private XletContext context;
private HScene scene;
private EventManager manager;
private HStaticText testo2;
private UserEventRepository repository;
private BackgroundController backgroundManager;
private HStaticIcon image, image1;
private Thread tread;
public HSceneFactory factory = HSceneFactory.getInstance();
XletInterface interfaccia;
// metodo per inizializzare la Xlet, operazione segnalata da un messaggio
public void initXlet(XletContext xletContext)
throws XletStateChangeException {
System.out.println("Inizializzazione della xlet");
context = xletContext;
}
// metodo per eseguire la Xlet, operazione segnalata da un messaggio
95
APPENDICE A
public void startXlet() throws XletStateChangeException {
System.out.println("Esecuzione della xlet");
// viene creato un nuovo oggetto di tipo repository che funge da
// magazzino per gli eventi possibili mediante il telecomando
repository = new UserEventRepository("UserRepository");
repository.addAllColourKeys(); // aggiunti i tasti colorati
repository.addAllArrowKeys(); // aggiunti i tasti con le frecce
repository.addAllNumericKeys(); // aggiunti i tasti numerici
repository.addKey(HRcEvent.VK_ENTER); // aggiunto il tasto "OK"
repository.addKey(HRcEvent.VK_ESCAPE); // aggiunyo il tasto "EXIT"
repository.addKey(428); // aggiunto il tasto "-" (meno)
repository.addKey(427); // aggiunto il tasto "+" (più)
repository.addKey(151); // aggiunto il tasto "*" (asterisco)
repository.addKey(520); // aggiunto il tasto "#" (cancelletto)
System.out.println("Setting Repository completato");
manager = EventManager.getInstance();
// per abilitare la rivelazione
// degli eventi
manager.addUserEventListener(this, repository);
// si aggiungono gli
// eventi possibili
// all'oggetto manager
// creato
backgroundManager = new BackgroundController();
displayBackgroundImage1();
}
// metodo per mettere in pausa la Xlet, operazione segnalata da un messaggio
public void pauseXlet() {
System.out.println("xlet in pausa");
context.notifyPaused(); // notifica al manager dell'applicazione che la
// xlet non è attiva, in quanto è entrata in uno
// stato di pausa
}
// metodo per distruggere la Xlet e rilasciare le risorse da questa
// utilizzate, operazione segnalata da un messaggio
public void destroyXlet(boolean flag) throws XletStateChangeException {
System.out.println("Distruggendo Xlet.....");
interfaccia.destroy();
displayBackgroundExit();
System.out.println("Xlet distrutta");
context.notifyDestroyed();
// notifica al manager dell'applicazione che la xlet è entrata nello stato
// "Destroyed", in quanto è stata distrutta
}
// metodo per gestire gli eventi associati alla pressione dei tasti del
// telecomando del Set-Top-Box
public void userEventReceived(UserEvent event) {
switch(event.getCode()){
case HRcEvent.VK_ESCAPE:
System.out.println("Premuto exit");
//backgroundMager.dispose();
96
APPENDICE A
//era .doDestroy
try{
displayBackgroundExit();
destroyXlet(true);
}
catch(XletStateChangeException xsce) {
xsce.getStackTrace();
}
break;
case HRcEvent.VK_COLORED_KEY_0:
System.out.println("Premuto enter");
scene.setVisible(false);
testo2.setVisible(false);
scene.remove(testo2);
scene.remove(image);
scene.removeAll();
factory.dispose(scene);
factory.dispose(scene);
start();
break;
}
}
// metodo per caricare lo sfondo della Xlet quando questa va in esecuzione
public void displayBackgroundImage() {
if (backgroundManager.init()) {
backgroundManager.display("background.mpg");
backgroundManager.hideVideo(context,0,0,0,0);
// per nascondere il video che potrebbe oscurare lo sfondo caricato
System.out.println("Immagine di background caricata");
}
}
public void displayBackgroundImage1() {
if (backgroundManager.init()) {
backgroundManager.hideVideo(context,0,0,720,576); // per nascondere il
//video che potrebbe oscurare lo sfondo caricato
System.out.println("bottone iniziale di background caricato");
HSceneTemplate hst = new HSceneTemplate();
scene =factory.getBestScene(hst);
scene.setBounds(0, 0, 500, 200);
image= new
HStaticIcon(Toolkit.getDefaultToolkit().getImage("ok.jpg"),36,36,139,105);
scene.add(image);
testo2 = new HStaticText("Premere il tasto ROSSO per\naccedere ai contenuti
97
APPENDICE A
interattivi",36+139, 36, 300, 105);
testo2.setFont(new Font("Tiresias", Font.PLAIN, 24));
testo2.setBackground(new DVBColor(0, 0, 255, 200));
testo2.setForeground(Color.white);
testo2.setHorizontalAlignment(HStaticText.HALIGN_LEFT);
testo2.setVerticalAlignment(HStaticText.VALIGN_CENTER);
scene.add(testo2);
scene.setVisible(true);
testo2.setVisible(true);
tread =new Thread();
tread.start();
try {
tread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
testo2.setVisible(false);
image.setVisible(false);
image1= new
HStaticIcon(Toolkit.getDefaultToolkit().getImage("rosso.jpg"),36,36,36,36);
scene.add(image1);
try {
tread.sleep(10000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
image1.setVisible(false);
}
}
public void displayBackgroundExit() {
System.out.println("distruzione background");
backgroundManager.dispose(context);
}
public void start (){
System.out.println("Esecuzione della xlet");
System.out.println("Loading Backgrond image.....");
displayBackgroundImage(); // viene caricata l'immagine di background
// (sfondo)
interfaccia = new XletInterface();
}
}
98
// creato un nuovo oggetto di tipo
// XletInterface, che si occupa
// dell'aspetto grafico della Xlet e
// del suo comportamento in risposta
// all'interazione dell'utente.
APPENDICE A
Classe XletInterface
/*
* Classe che si occupa dell'aspetto grafico della Xlet e del
* suo comportamento in risposta all'interazione dell'utente.
*/
// Per prima cosa, devono essere incluse le librerie necessarie
import java.awt.Color;
import java.awt.Font;
import java.awt.event.KeyEvent; // per associare un codice a ciascun evento, affinchè a questo
//corrisponda un cambiamento grafico della xlet
import java.awt.event.KeyListener; // per captare l'evento compiuto
import org.dvb.ui.DVBColor;
import org.havi.ui.HScene; // per rappresentare l'area visualizzabile nello schermo (in realtà non
//viene creata, sono solo aggiunti i suoi componenti al contenitore)
import org.havi.ui.HSceneFactory; // per generare effettivamente un oggetto di tipo HScene
import org.havi.ui.HSceneTemplate; // per specificare la locazione e le dimensioni dell'oggetto
//HScene
import org.havi.ui.HStaticText;
import org.havi.ui.event.HRcEvent;
public class XletInterface {
public HStaticText testo6;
private HScene scene;
public static final int EXIT = HRcEvent.VK_ESCAPE;
MyContainer first;
MyContainer page;
KeyListener listener;
public XletInterface() {
HSceneFactory factory = HSceneFactory.getInstance(); // HSceneFactory
// ritorna un appropriato contenitore HScene
// che l'applicazione sfrutta per visualizzare essa stessa
HSceneTemplate hst = new HSceneTemplate(); // un oggetto di questo tipo
// è necessario poichè l'applicazione richiede che HSceneFactory
// effettivamente gli garantisca l'accesso alla porzione di schermo voluta, per
//esempio visualizzazione in full-screen
// specificate preferenze sulla locazione dello schermo in riferimento
// al registro costanti presenti nel manuale di org.havi.ui
scene =factory.getBestScene(hst);
scene.setBounds(36, 29, 635, 510); // per settare i limiti
// dell'applicazione grafica
scene.setLayout(null);
scene.setBackgroundMode(HScene.BACKGROUND_FILL);
System.out.println("Creazione scena");
page = new MyContainer(0, 0, 635, 510);
first = new MenuPrincipale(page, null);
System.out.println("Creazione MenuPrincipale");
page.setVisible(true); // per visualizzare l'oggetto, che altrimenti
// esisterebbe ma non sarebbe visibile
first.setVisible(true);
scene.add(page); // per aggiungere il nuovo oggetto di tipo
99
APPENDICE A
// MyContainer a quello "scene" di tipo HScene
testo6 = new HStaticText("CARICAMENTO IN CORSO...",
5,75+53+5+5+2+282+1,630,510-(75+53+5+5+2+282+1));
testo6.setFont(new Font("Tiresias", Font.BOLD, 20));
testo6.setBackground(new DVBColor(255,0,0,255));
testo6.setForeground(Color.white);
testo6.setHorizontalAlignment(HStaticText.HALIGN_CENTER);
testo6.setVerticalAlignment(HStaticText.VALIGN_TOP);
scene.add(testo6);
testo6.setVisible(false);
scene.addKeyListener(new KeyListener() {
public void keyTyped(KeyEvent arg0) {
}
public void keyPressed(KeyEvent arg0) {
MyContainer c = first;
while (c.next != null)
c = c.next;
c.keyPressed(arg0.getKeyCode());
}
public void keyReleased(KeyEvent arg0) {
}
// anche il rilascio del tasto premuto è in realtà un evento quindi
// bisogna creare il metodo associato, affinchè a lato pratico, non
// accada niente
System.out.println("KeyListener ATTIVO");
scene.setVisible(true);
scene.requestFocus();
scene.validate();
}
// Metodo per la distruzione della Xlet
public void destroy() {
if (scene != null) {
System.out.println("Distruzione della Xletinterface");
scene.setVisible(false);
scene.removeAll();
page.removeAll();
first.removeAll();
scene.setVisible(false);
HSceneFactory.getInstance().dispose(scene);
scene = null;
}
}
100
APPENDICE A
Classe MyContainer
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Font;
import java.awt.Toolkit;
import org.dvb.ui.DVBColor;
import org.havi.ui.HContainer;
import org.havi.ui.HStaticIcon;//per rappresentare un'immagine grafica
import org.havi.ui.HStaticText;
public class MyContainer extends HContainer implements KeysInterface {
private static final long serialVersionUID = 1L;
protected MyContainer container = null;
HStaticText testo6;
protected MyContainer prev = null;
XletInterface interfaccia;
protected MyContainer next = null;
public MyContainer() {
super();
}
public MyContainer(int x, int y, int w, int h) {
super(x, y, w, h);
}
public void init() {
next = null;
removeAll();
container.removeAll();
container.setLayout(new BorderLayout());
container.add(this, BorderLayout.CENTER);
setLayout(null);
System.out.println("Contenitore inizializzato ");
}
public void initAR() {
next = null;
removeAll();
interfaccia = new XletInterface();
container.removeAll();
container.setLayout(new BorderLayout());
container.add(this, BorderLayout.CENTER);
setLayout(null);
System.out.println("Contenitore inizializzato ");
}
public void update() {
System.out.println("Contenitore aggiornato");
}
public void keyPressed(int k) {
switch (k) {
case Telecomando.ROSSO:
pressedRosso();
101
APPENDICE A
break;
case Telecomando.VERDE:
pressedVerde();
break;
case Telecomando.GIALLO:
pressedGiallo();
break;
case Telecomando.BLU:
pressedBlu();
break;
case Telecomando.SU:
pressedSu();
break;
case Telecomando.GIU:
pressedGiu();
break;
case Telecomando.SINISTRA:
pressedSinistra();
break;
case Telecomando.DESTRA:
pressedDestra();
break;
case Telecomando.OK:
pressedOK();
break;
case Telecomando.UNO:
pressed_1();
break;
case Telecomando.DUE:
pressed_2();
break;
case Telecomando.TRE:
pressed_3();
break;
case Telecomando.QUATTRO:
pressed_4();
break;
case Telecomando.CINQUE:
pressed_5();
break;
case Telecomando.SEI:
pressed_6();
break;
case Telecomando.SETTE:
pressed_7();
break;
case Telecomando.OTTO:
pressed_8();
break;
case Telecomando.NOVE:
pressed_9();
break;
case Telecomando.ASTERISCO:
102
APPENDICE A
pressedAsterisco();
break;
case Telecomando.CANCELLETTO:
pressedCancelletto();
break;
case Telecomando.ZERO:
pressed_0();
break;
case Telecomando.EXIT:
pressedExit();
break;
case Telecomando.MENO:
pressedMeno();
break;
case Telecomando.PIU:
pressedPiu();
break;
}
}
public void pressedRosso() {
next = new MenuPrincipale(container, this);
System.out.println("Tasto Rosso premuto -- MenuPrincipale");
}
public void pressedVerde() {
next = new Farmacie(container, this);
System.out.println("Tasto Verde premuto -- Farmacie");
}
public void pressedGiallo() {
next = new Medici(container, this);
System.out.println("Tasto Giallo premuto -- Medici");
}
public void pressedBlu() {
next = new NumeriUtili(container, this);
System.out.println("Tasto Blu premuto -- NumeriUtili");
}
public void pressedSu() {
System.out.println("Tasto SU premuto -- pagina precedente");
}
public void pressedGiu() {
System.out.println("Tasto GIU premuto -- pagina successiva");
}
public void pressedSinistra() {
System.out.println("Tasto SINISTRA premuto -- torna al menu precedente");
if (prev != null)
prev.init();
else
System.exit(0);
}
public void pressedDestra() {
}
public void pressedOK() {
}
103
APPENDICE A
public void pressed_0() {
System.out.println("Tasto 0 premuto ");
}
public void pressed_1() {
System.out.println("Tasto 1 premuto ");
}
public void pressed_2() {
System.out.println("Tasto 2 premuto ");
}
public void pressed_3() {
System.out.println("Tasto 3 premuto ");
}
public void pressed_4() {
System.out.println("Tasto 4 premuto ");
}
public void pressed_5() {
System.out.println("Tasto 5 premuto ");
}
public void pressed_6() {
System.out.println("Tasto 6 premuto ");
}
public void pressed_7() {
System.out.println("Tasto 7 premuto ");
}
public void pressed_8() {
System.out.println("Tasto 8 premuto ");
}
public void pressed_9() {
System.out.println("Tasto 9 premuto ");
}
Public void pressedAsterisco() {
}
public void pressedCancelletto() {
}
public void pressedPiu() {
}
public void pressedMeno() {
}
public void pressedExit()
{
}
//metodo per distruggere la xlet
public void destroy(MyContainer container){
if(container!=null){
container.setVisible(false);
container.removeAll();
container=null;
System.out.println("Distruzione del contenitore completata");
}
}
protected void addElements() { // richiamo questo metodo per visualizzare solo l'intestazione
HStaticIcon i;
// intestazione
104
APPENDICE A
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("intestazione.png"), 5, 0,
635,75);
add(i);
System.out.println("Immagine caricata: Intestazione aggiunta");
}
protected void addElements1() { // richiamo qsto metodo per visualizzare i bottoni
// colorati
HStaticIcon a,b,c,d;
// bottone rosso
a = new
HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneRossoChiaro.jpg"), 5, 76, 157, 53 );
add(a);
System.out.println("Immagine caricata: BottoneRossoChiaro aggiunto");
// bottone verde
b = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneVerde.JPG"),
5+157+1, 76, 157, 53);
add(b);
System.out.println("Immagine caricata: BottoneVerde aggiunto");
// bottone giallo
c = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneGiallo.JPG"),
5+157+1+157+1, 76, 157, 53);
add(c);
System.out.println("Immagine caricata: BottoneGiallo aggiunto");
// bottone blu
536, 96, 176, 53
6, 96, 176, 53
d = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneBlu.JPG"),
5+157+1+157+1+157+1, 76, 157, 53);
add(d);
System.out.println("Immagine caricata: BottoneBlu aggiunto");
}
protected void addElements2() { // richiamo questo metodo per visualizzare i bottoni colorati, quando
sono dentro al verde(farmacie)
HStaticIcon i;
// bottone rosso
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneRosso.JPG"), 5,
76, 157, 53);
add(i);
System.out.println("Immagine caricata: BottoneRosso aggiunto");
// bottone verde
i = new
HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneVerdeChiaro.JPG"), 5+157+1, 76, 157,
53);
add(i);
System.out.println("Immagine caricata: BottoneVerdeChiaro aggiunto");
// bottone giallo
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneGiallo.JPG"),
5+157+1+157+1, 76, 157, 53);
add(i);
System.out.println("Immagine caricata: BottoneGiallo aggiunto");
// bottone blu
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneBlu.JPG"),
5+157+1+157+1+157+1,76, 157, 53);
105
APPENDICE A
add(i);
System.out.println("Immagine caricata: BottoneBlu aggiunto");
}
protected void addElements3() { // richiamo questo metodo per visualizzare i bottoni colorati,
quando sono dentro al giallo(medici)
HStaticIcon i;
// bottone rosso
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneRosso.JPG"), 5,
76, 157, 53);
add(i);
System.out.println("Immagine caricata: BottoneRosso aggiunto");
// bottone verde
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneVerde.JPG"),
5+157+1, 76, 157, 53);
add(i);
System.out.println("Immagine caricata: BottoneVerde aggiunto");
// bottone giallo
i = new
HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneGialloChiaro.JPG"), 5+157+1+157+1, 76,
157, 53);
add(i);
System.out.println("Immagine caricata: BottoneGialloChiaro aggiunto");
// bottone blu
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneBlu.JPG"),
5+157+1+157+1+157+1, 76, 157, 53);
add(i);
System.out.println("Immagine caricata: BottoneBlu aggiunto");
}
protected void addElements4() { // richiamo questo metodo per visualizzare i bottoni colorati,
quando sono dentro al blu(numeri utili)
HStaticIcon i;
// bottone rosso
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneRosso.JPG"), 5,
76, 157, 53);
add(i);
System.out.println("Immagine caricata: BottoneRosso aggiunto");
// bottone verde
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneVerde.JPG"),
5+157+1, 76, 157, 53);
add(i);
System.out.println("Immagine caricata: BottoneVerde aggiunto");
// bottone giallo
i = new HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneGiallo.JPG"),
5+157+1+157+1, 76, 157, 53);
add(i);
System.out.println("Immagine caricata: BottoneGiallo aggiunto");
// bottone blu
i = new
HStaticIcon(Toolkit.getDefaultToolkit().getImage("BottoneBluChiaro.JPG"),
5+157+1+157+1+157+1, 76, 157, 53);
add(i);
System.out.println("Immagine caricata: BottoneBluChiaro aggiunto");
}
}
106
APPENDICE
B
Appendice B: Costi e strutture per un laboratorio MHP
Nell’ultima parte del mio lavoro ho aggiunto una particolare sezione,elaborata dal
gruppo di sviluppo del CINECA, per la realizzazione di un completo laboratorio in
grado di sviluppare applicazioni MHP.
1.
Uso di software emulatore MHP liberi e aperti:
http://www.openmhp.org/
vantaggi: costo zero / resa media = valore altissimo
difetti: non e' uno stack MHP certificato, a volte va, a volte no!
2.
Emulatore certificato per PC: noi abbiamo preso una licenza di Osmosys
MHP Player, è una valida proposta più economica dell' STB da sviluppo.
http://www.osmosys.tv/products/products.htm
A soli 20 EURO! Mimundo una implementazione dello stack di IRT.DE
Alticast; Zentek
3.
Un STB da sviluppo che permette di caricare applicazioni MHP via seriale;
ad es.
https://store.adbglobal.com/store/prodDisplay.php
un investimento ridotto (meno di 1000 dollari; in euro 600?) che ha una
ottima resa (stack MHP certificato) e riciclabile anche in un contesto di
laboratorio "vero" - vedi punti 4 e 6 - (visto che le applicazioni MHP le
decodifica anche dal tuner!) in più il debug permette di vedere cosa fa la
concorrenza.
4.
Sviluppo di applicazioni in hosting: se siete sotto la copertura di un
broadcaster che usa CreaTv (come Sestarete in Emilia Romagna), le
applicazioni le mandate al server web http://mhplab.cineca.tv e noi le
mettiamo "on air" in una area riservata con accesso via password e poi voi le
verificate sul vostro STB MHP (meglio se col debug abilitato)
vantaggio competitivo: costa poco perché non dovete investire in nessun
apparato costoso!
svantaggio le vostre applicazioni vanno "on air" e tutti le possono
"potenzialmente" vedere; cioè è vero che sono su area riservata con password
ma chi ha una scheda DVB-T su PC può "dumpare" il carosello e fare il java
decompiling.
5.
Programmazione di applicazioni MHP su DVB-S! premessa: in realtà la
televisione interattiva e' nata sul satellite in nord Europa. in Italia la spingono
107
APPENDICE
B
solo sul DTT. per cui esistono STB DVB-S MHP come il Nokia 310s o il
Philips dsr5600,i "vantaggi" di usare MHP su DVB-S.
a. Che basta prendere un "economico" (intorno ai 2000 EURO) modulatore
QPSK su scheda PCI come il dektec dta 107:
http://www.dektec.com/Products/DTA-107/index.asp
per utilizzare il nostro software justdvb-it che garantisce la massima
flessibilità e realismo nell'erogazione delle applicazioni interattive
b. Che si possono mettere in campo anche altri giochetti sperimentali come
l'IP su DVB e/o HDTV..
svantaggi: non si possono sperimentare con questo apparato le applicazioni
sui decoder commerciali MHP DVB-T che in Italia sono la maggioranza, e
visto che oggi l'MHP e' un po' come i browser del 1995, cioè standard non
così standard, di solito le applicazioni, dopo lo sviluppo ed il bug-fixing,
vanno testate anche su tutte le piattaforme.
6.
Simulare una tv dvb-t interattiva cioè crearsi una catena completa in
laboratorio, comprando:
- un pc con SO gnu/linux (consiglio debian)
- una scheda dektec dta 140 con uscita ASI
http://www.dektec.com/Products/DTA-140/index.asp
- il nostro carousel server open source and free justdvb-it
- un modulatore DVB-T industriale che modula in canale UHF; noi usiamo e
consigliamo "screen service" e teko:
- Teko http://www.screen.it/
- qualche STB DVB-T sia commerciale che di sviluppo di cui al punto 3.che
e' comodo per i messaggi di debug che emette su seriale!
- l'unico svantaggio di questa soluzione è il costo! tra pc, scheda ASI e
modulatore DVB-T si arriva oltre i 10000 EURO.
Per informazioni contattare lo staff di CIN-ECAST
108
SITI E BIBLIOGRAFIA
BIBLIOGRAFIA:
www.dvb.org
www.devicetop.com
www.mhp.org
www.etsi.org
www.mhp-interactive.org
www.sourceforge.net
www.dttlab.it
www.labtv.it
www.cineca.it
www.eclipse.org
www.agcom.it/provv/libro_b_00/librobianco00.htm
www.televisionedigitaleterrestre.it
www.interactivetvweb.org
www.digitaleterrestre.it
www.java.sun.com
www.javastaff.com
www.havi.org
www.asurzona7.marche.it
www.dgtvi.it.
[1]
IETF RFC 2246, The Transport Layer Security Protocol (TLS),
January 1999
[2]
D.Wagner, B.Schneier, Analysis of the Secure Socket Layer Protocol 3.0,
University Of California, April 1997
[3]
A.Freier, P.Karlton, P.Kocher, Secure Socket Layer Netscape Draft,
November 1996
109
SITI E BIBLIOGRAFIA
[4]
Legge Gasparri
www.wikipedia.it
[5]
Il progetto Digital Video Broadcasting,
www.telecomitalialab.com
[6]
ETSI EN 300 429, Digital Video Broadcasting : framing structure, channel
coding And modulation for cable systems, 1994
[7]
A.Morello, V.Vignone, Il sistema DVB-S2, seconda generazione per la
trasmissione via satellite e Unicast, RAI, Centro Ricerche e Innovazione
Tecnologica, Torino, 2006
[8]
ETSI EN 300 744, Digital broadcasting systems for television, sound and
data services; framing structure, channel coding and modulation for digital
terrestrial television, 1997
[9]
M.Alard, R.Lassalle, Principles of modulation and channel coding for digital
broadcasting for mobile receivers, EBU Technical Review, n° 224, August
1987
[10]
DVB Document A068 REV, Digital Video Broadcasting; Multimedia Home
Platform Specification 1.1.2, 2006
[11]
ETSI EN 302 304 V1.1.1, Digital Video Broadcasting; Transmission System
for Handheld Terminals (DVB-H), 2005
[12]
Direttive per l'accessibilità dei contenuti DVB-T
DGTVi D-Book”
110