Capitolo 1
Il sistema satellitare puo` essere utilizzato per una grande varieta` di applicazioni,
a partire dalla trasmissione di programmi televisivi in alta qualita` fino ad arrivare
ai cosiddetti programmi interattivi, nei quali cioe` l’utente esegue delle scelte che
andranno a variare lo svolgimento del “programma”, e a programmi utilizzabili da
soli utenti autorizzati.
Questa grande varieta` di applicazioni porta pero` alla necessita` di sviluppare una
serie di tecnologie che consentano di avere una buona qualita` del servizio mantenendo
una certa sicurezza nella trasmissione delle informazioni.
Tali tecnologie possono essere suddivise in tecnologie per l’invio e la ricezione dei
dati, come ad esempio trasmettitori satellitari e parabole di ricezione, e in tecnologie
utilizzate per l’elaborazione e la presentazione delle informazioni, come ad esempio
i decoder satellitari.
E` necessaria in ogni caso una definizione del formato per lo scambio dei dati tra
trasmittente e ricevente in modo tale che il secondo possa interpretare correttamente
le informazioni ricevute. Per questo aspetto la soluzione oggi maggiormente adot-
tata prende il nome di Digital Video Broadcasting, tecnologia che consente l’invio
contemporaneo di diversi programmi in alta qualita`, e fornisce soluzioni efficienti
relativamente alla sicurezza e all’affidabilita` nella trasmissione.
Naturalmente l’utilizzo di questa tecnologia richiede una serie di dispositivi in
grado di elaborare le informazioni ricevute e di presentarle all’utente in maniera
corretta. Generalmente tali dispositivi sono costituiti dagli Integrate Receiver De-
coders (IRD), meglio conosciuti come decoder. Tali dispositivi risolvono il problema
della “traduzione” delle informazioni ricevute utilizzando una soluzione hardware,
ossia tramite l’utilizzo di circuiti fisici incaricati dell’elaborazione dei dati.
E` possibile effettuare le stesse operazioni avvalendosi di un approccio software,
ossia realizzando un’applicazione che risolva il problema utilizzando un qualsiasi
calcolatore.
Alcune aziende, tra cui Alenia Spazio, risultano interessate ad approfondire
7
Capitolo 1
questo tipo di soluzione effettuando delle ricerche in tal senso.
L’attivita` di tirocinio svolta presso la suddetta azienda ha permesso di sviluppare
il lavoro presentati in questa tesi che descrive un’applicazione per consentire la
ricezione di un qualsiasi streaming digitale nello standard DVB e la visualizzazione
in tempo reale dei programmi che vengono trasmessi.
Con tale software oltre a queste operazioni e` possibile effettuare dei salvataggi su
disco dei programmi trasmessi dal satellite, e nello stesso tempo vengono effettuate
delle statistiche relativamente ai dati ricevuti che consentono di stabilire l’affidabilita`
della trasmissione e la qualita` dei differenti programmi trasmessi.
Contenuto della tesi
Il contenuto della tesi e` il seguente:
Capitolo 2: Descrizione dello standard di comunicazione digitale Digital Video
Broadcasting (DVB) utilizzato nel sistema satellitare preso in esame. Ven-
gono spiegati in particolare i metodi utilizzati per la trasmissione di diversi
programmi su uno stesso canale fisico.
Capitolo 3: Descrizione generale del sistema satellitare e dei suoi obiettivi riguar-
danti la qualita` del servizio. Focalizzazione dell’attenzione sulle tecniche utiliz-
zate per la trasmissione dei dati digitali e per la correzione degli errori. Breve
introduzione alle caratteristiche fisiche del sistema.
Capitolo 4: Caratteristiche tecniche della scheda National Instrument DIO 6533
utilizzata per la ricezione dei dati dal sistema satellitare. Breve esposizio-
ne delle soluzioni a disposizione per la realizzazione dei driver utilizzati per
l’interfacciamento del software con la scheda.
Capitolo 5: Panoramica sugli ambienti a disposizione per lo sviluppo dell’applica-
zione. Descrizione dell’ambiente National Instrument LabWindows/CVI, pos-
8
Capitolo 1
sibilita` di integrazione di ActiveX e di programmazione multitrhead. Descri-
zione generale dell’ambiente per lo sviluppo di applicazioni Microsoft Visual
C++.
Capitolo 6: Risoluzione del problema relativo alle prestazioni dell’applicazione re-
lativamente all’elaborazione dei dati in arrivo. Esposizione di soluzioni multi-
processo e delle tecnologie per lo scambio di dati tra processi messe a disposi-
zione dal sistema operativo Microsoft Windows. Valutazione delle prestazioni
al variare della quantita` di dati scambiati tra i processi.
Capitolo 7: Sincronizzazione tra il software e lo stream DVB in arrivo dal sistema
satellitare. Analisi dei pacchetti trasportati nello stream e ricerca di even-
tuali dati danneggiati. Statistiche sulla quantita` di dati danneggiati per la
valutazione dell’affidabilita` della comunicazione.
Capitolo 8: Sviluppo dei driver per l’interfacciamento del software con la scheda di
acquisizione National Instrument DIO 6533. Risoluzione di problemi relativi
alla velocita` di acquisizione. Valutazione delle prestazioni al variare della
quantita` di dati acquisiti.
Capitolo 9: Analisi dello stream DVB in arrivo dal sistema satellitare al fine di ri-
costruire le informazioni relative ai differenti programmi trasmessi. Statistiche,
per la valutazione della qualita` del programma, relative alla quantita` di dati
ricevuta mediamente per ogni diverso programma in trasmissione. Selezione
di un programma e filtraggio dei dati relativi al programma selezionato.
Capitolo 10: Visualizzazione in tempo reale del programma scelto. Analisi delle
soluzioni fornite da Microsoft DirectX e Microsoft Windows Media Player.
Esame delle problematiche introdotte dalle due soluzioni. Valutazione della
qualita` della riproduzione del programma selezionato.
9
Capitolo 1
CD-ROM allegato: Nel cd-rom allegato sono presenti i programmi eseguibili rela-
tivi alla tesi sviluppata, oltre ai codici sorgenti dei due processi di acquisizione
e di elaborazione dei dati. E` inoltre presente il contenuto di questa tesi sia in
formato PDF che in LATEX.
10
Parte I
Il Problema
11
Capitolo 2
Digital Video Broadcasting
Digital Video Broadcasting (DVB) e` un termine generalmente utilizzato per de-
scrivere servizi di TV digitale e broadcasting di dati che utilizzano lo “standard”
DVB.
In effetti, non c’e` un unico standard DVB, ma varie collezioni di standard,
raccomandazioni tecniche e linee guida, sviluppate dal “Project on Digital Video
Broadcasting” generalmente chiamato “DVB Project”.
Il DVB Project e` composto da volontari e riunisce insieme esperti da piu` di
duecento compagnie e organizzazioni, che rappresentano gli interessi di industrie,
emittenti televisive, services providers e operatori satellitari. Il suo interesse princi-
pale e` di raggiungere il beneficio di una standardizzazione tecnica, che soddisferebbe
allo stesso tempo i requisiti commerciali dei membri del progetto. Anche se la mag-
gior parte della standardizzazione e` ormai completata, il lavoro e` ancora in corso su
argomenti quali il Multimedia Home Platform.
La maggior parte dell’output del DVB Project e` stata formalizzata dall’ Euro-
pean Telecomunications Standards Institute (ETSI).
12
Capitolo 2
2.1 DVB - Un meccanismo di broadcasting dati
In parole semplici, la tecnologia DVB permette il broadcasting di “contenitori di
dati”, tramite i quali puo` essere trasmesso qualsiasi tipo di dati digitali. Il DVB
consegna semplicemente immagini compresse, suono o dati al ricevitore all’interno
di questi “contenitori”. Non esistono restrizioni al tipo di informazioni che possono
essere trasportate in questa maniera. Il DVB “Service Information” opera come
un’intestazione del contenitore, assicurando che il ricevitore conosca quello che vuole
decodificare.
Una differenza chiave nell’approccio del DVB comparato con altri sistemi di
broadcasting dati e` che i differenti dati all’interno dei contenitori possono traspor-
tare informazioni basate su riferimenti temporali indipendenti. Questo permette,
per esempio, di sincronizzare informazioni video e audio nel ricevitore, anche se le
informazioni audio e video non arrivano nello stesso istante. Questo facilitazione e`,
quindi, essenziale per le trasmissioni di programmi televisivi convenzionali.
L’approccio del DVB prevede un grande livello di flessibilita`. Per esempio, una
linea a 38 Mbit/sec potrebbe trasportare otto programmi televisivi a qualita` stan-
dard, quattro a qualita` media e un canale televisivo in alta qualita`, tutti con piu`
canali audio e altri servizi. Al momento attuale, la maggior parte delle trasmissioni
DVB satellitari trasportano piu` programmi a qualita` standard con i rispettivi canali
audio e dati. Il DVB e` inoltre utilizzato per servizi di broadcasting di dati, come ad
esempio l’accesso al World Wide Web.
2.2 MPEG-2
Lo standard MPEG-2 e` stato adottato nel DVB per la codifica di informazioni audio
e video e per il multiplexing di un certo numero di sorgenti di dati e informazioni
in un singolo stream di dati utile per la trasmissione. Di conseguenza, molti dei
13
Capitolo 2
parametri, campi e della sintassi usata nel DVB sono specificate nello standard
MPEG-2.
MPEG sta per Moving Picture Expert Group, un gruppo di esperti disegnatori
provenienti dalle industrie che hanno contribuito allo sviluppo di standard comuni
all’interno di comitati ITU-T e ISO/IEC.
Lo standard MPEG-2 e` generico e molto vasto e di conseguenza alcuni dei pa-
rametri e dei campi MPEG-2 non sono utilizzati nel DVB. Queste restrizioni sono
descritte in un ETSI Technical Report (ETR 154).
Figura 2.1: Modello concettuale di un processore DVB
Quello descritto in Figura 2.1 e` un blocco concettuale di un processore DVB
(MPEG-2) in banda base. E` da notare il fatto che i processori DVB in banda base
non implementato necessariamente tutti i blocchi mostrati nella figura, che serve
semplicemente per una base per la discussione.
Come si puo` notare, l’input del processore consiste principalmente di un numero
14
Capitolo 2
di programmi sorgenti. Ogni programma comprende un misto di dati grezzi e vi-
deo ed audio non compressi, dove i dati possono essere, per esempio, televideo e/o
sottotitoli e informazioni grafiche.
Ognuno degli input video, audio e dati relativi al programma sono codificati e
inseriti in una Packetized Elementary Strema (PES), quindi ogni PES e` un com-
ponente digitale codificato di un programma. Il tipo piu` semplice di servizio e` un
programma radio, che puo` consistere di una singolo elementary stream audio. Un
tradizionale canale televisivo puo` invece comprendere tre elementary stream: una
che trasporta il video, una l’audio e una il televideo.
Successivamente all’impacchettamento le varie elemantary stream di un program-
ma vengono multiplexate con PES di altri programmi per formare un Transport
Stream (TS).
Ogni PES puo` trasportare informazioni temporali, o “time stamps”, per assicu-
rare che le relative elementary stream, per esempio video e audio, vengano eseguite
in sincronia nel ricevitore. I programmi possono avere ognuno un differente clock di
riferimento, o possono condividere un clock comune. Campioni di ogni “Programme
Clock”, chiamati Programme Clock References (PCRs), vengono inseriti all’interno
della Transport Stream per permettere al ricevitore di sincronizzare il suo clock con
quello del multiplexer. Una volta sincronizzato, il ricevitore puo` interpretare cor-
rettamente il time stamp e puo` determinare il momento giusto per decodificare e
presentare le relative informazioni all’utente.
Dati addizionali vengono inseriti nella Transport Stream, che includono Program-
me Specific Information (PSI), Service Information (SI), Conditional Access (CA)
e dati privati. I dati privati sono stream di dati il cui contenuto non e` specificato
nello standard MPEG.
L’uscita del Transport Multiplexer e` un singolo flusso di dati che e` utilizzabile
per la trasmissione o per il salvataggio. Non esistono forme di protezione dagli errori
integrate nel multiplexer. La protezione dagli errori e` implementata nell’ adattatore
15
Capitolo 2
del canale satellitare.
2.3 Elementary Stream
Un programma consiste essenzialmente di un numero di Elementary Stream che ge-
neralmente richiedono una sincronizzazione temporale nel ricevitore. Le Elementary
Stream possono consistere di informazioni video o audio, oppure dati.
2.3.1 Video
Le linee guida per l’uso della codifica standard MPEG-2 per il video sono definite
in ETR 154. Vengono definite quattro differenti classi di IRD (Integrated Receiver
Decoder) e bit stream: Standard Definition Television (SDTV) con un frame rate di
25 Hz, High Definition Television (HDTV) con un frame rate di 25 Hz, SDTV con
frame rate di 30 Hz e HDTV con frame rate di 30 Hz.
Tutti i ricevitori (IRD) DVB devono poter ignorare le strutture dati che al mo-
mento sono riservate o che corrispondono a funzioni non implementate nel ricevitore.
Questo serve ad assicurare una totale compatibilita` con lo standard MPEG-2 e per
assicurare compatibilita` con applicazioni future.
Il bit stream SDTV e` richiesto per compatibilita` con il Main Profile e Main Level
restriction dell’MPEG-2. Profili e/o livelli piu` semplici sono consentiti.
Gli IRD per SDTV devono supportare come minimo la decodifica dei Main Profile
e dei Main Level. Il supporto per profili o livelli maggiori e` opzionale. Devono inoltre
poter supportare differenti formati di immagini (ad esempio 4:3, 16:9).
2.3.2 Audio
Le linee guida per l’uso della codifica standard MPEG-2 per l’audio sono definite in
ETR 154. Come nel caso del video, tutti i ricevitori devono poter ignorare strutture
dati riservate o corrispondenti a funzioni non implementate.
16