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