1 Introduzione
1.1) Descrizione dell'ente ospitante
Il lavoro che mi ha portato alla stesura di questa tesi si è svolto presso la TecnoSens
S.r.l. [1] con sede a Brescia. L'azienda nasce come società agli inizi del 1990
dall’esperienza pluriennale di un gruppo di ingegneri nel campo della sensoristica.
Inizialmente la società si occupa di una gamma in evoluzione continua di sensori e
delle loro applicazioni principali. Agli inizi del 2000, si crea internamente una
divisione che focalizza la propria attenzione sui prodotti per la videosorveglianza,
quali telecamere e videoregistratori digitali. Il continuo sviluppo e la diffusione
capillare di Internet hanno reso indispensabile l'utilizzo di sistemi di sicurezza in rete
ed è proprio per questo motivo che tutt'oggi questa divisione continua ad espandersi
ed evolversi nel campo della videosorveglianza in rete. I prodotti commercializzati
dall'azienda sono prodotti e progettati in oriente (Taiwan e Corea principalmente).
L'attività principale dell'azienda, oltre alla commercializzazione di questi prodotti,
consiste nel servizio offerto sia al produttore di tali apparati, sia al distributore locale
o all'integratore di sistemi che intende utilizzarli. La Tecnosens offre supporto tecnico
sull'utilizzo e l'installazione del prodotto, ma l'obiettivo principale è quello di
partecipare attivamente al suo sviluppo e di accrescere continuamente il proprio
know-how su tali sistemi. Per raggiungere questo obiettivo l'azienda ha instaurato un
rapporto collaborativo molto stretto con il produttore, partecipando attivamente alla
progettazione e al testing, in modo tale da avere un prodotto affidabile e conforme
alle esigenze dei sistemi di sicurezza nazionali. A fine di mantenere sempre alto il
livello tecnologico, Tecnosens ha istituito un'apposita divisione di R&D (Research &
Development) incentrata sull'analisi e lo studio dei prodotti commercializzati e sui
possibili sviluppi degli stessi.
1.2) Argomento della tesi
L'attività su cui si è strutturata la Tesi si è occupata di sviluppare un’applicazione da
affiancare ai sistemi di videosorveglianza proposti dall'azienda. L'obiettivo del lavoro
svolto in questo periodo, è stato quello di condurre un'analisi sul possibile sviluppo di
applicazioni di videosorveglianza su terminali mobili quali cellulari e PDA, e
6
1 Introduzione
sull'integrazione delle stesse con tutte le tipologie di prodotti commercializzati
dall'azienda. Per poter integrare l'applicazione con i prodotti di videosorveglianza si
è reso necessario lo studio della compressione/decompressione JPEG delle
immagini, in quanto tutti i dispositivi utilizzati rendono disponibili le immagini del sito
da sorvegliare compresse mediante questa tecnologia. Argomento principale di
studio ed approfondimento del lavoro svolto è stata l'implementazione della
decompressione JPEG su terminali mobili, in quanto allo stato dell'arte non erano
presenti soluzioni adeguate al problema. Il risultato finale consiste in un'applicazione
di videosorveglianza per terminali mobili compatibile con tutta la gamma di prodotti
presente in azienda, da utilizzare nei sistemi di videosorveglianza commercializati
dalla stessa.
1.3) Piano di lavoro
Nella prima parte del lavoro sono stati studiati i prodotti di videosorveglianza per cui
l'applicazione era destinata, cercando di evidenziare le possibili integrazioni con
l'applicazione e i limiti imposti da questi prodotti. In questa fase si è resa necessaria
l'interazione con il produttore per analizzare a fondo la struttura del sistema e
renderne possibile l'interazione con terminali mobili, anche mediante l'apporto di
piccole modifiche al firmware degli stessi. Si sono quindi definite le specifiche
dell'applicazione, in base anche allo studio del prodotto effettuato in precedenza.
Cuore principale del programma si è rivelata la decodifica JPEG dei fotogrammi
ottenuti dai dispositivi di acquisizione video. Per affrontare tale tema si è reso
indispensabile un approfondimento sulle metodologie di compressione video e uno
studio della codifica e decodifica JPEG, che doveva essere poi implementata
nell'applicazione. Una volta acquisite le conoscenze necessarie sui prodotti e sulle
tecnologie relative all'elaborazione delle immagini utilizzate e definite le specifiche
dell'applicazione, si sono esaminate le varie tipologie di terminali mobili presenti sul
mercato e possibili destinatarie dell'applicazione. Si sono presi in considerazione la
tipologia di hardware e il sistema operativo su cui erano basati i terminali mobili e si
sono analizzate le capacità computazionali e le risorse di memoria che i vari
dispositivi offrivano. Passo successivo è stato lo studio delle principali tecnologie di
programmazione dei terminali mobili e la selezione della tecnologia da adottare in
7
1 Introduzione
base alle esigenze commerciali aziendali e alle richieste tecnologiche che il problema
presentava. Il linguaggio di programmazione adottato è stato Java su piattaforma
J2ME. Come ambiente di sviluppo si è scelto NetBeans, una soluzione “free” che
integra completamente la piattaforma J2ME fornendo anche la possibilità di utilizzare
una serie di emulatori per i principali produttori di terminali mobili. Successivamente
si è implementata l'applicazione. Durante questa fase si è preso parte ad alcuni
meeting organizzati dalla SUN relativi al mondo J2ME, per approfondire le
conoscenze su questa piattaforma e condividere i problemi di implementazione
incontrati. La parte finale del lavoro è consistita nel test dell'applicazione su una
varietà di terminali mobili forniti dall'azienda e da alcuni clienti e alla stesura della
documentazione sull'installazione e modalità di utilizzo dell'applicazione stessa.
1.4) Struttura della tesi
La prima parte (Capitolo 2) della tesi descrive lo stato dell'arte dei sistemi di
videosorveglianza, dei principali apparati impiegati e dei software utilizzati. Segue
una sintesi sulle principali tecnologie di compressione e trasmissione video. Il
capitolo seguente (Capitolo 3) sviluppa una panoramica sulle tipologie di terminali
mobili presenti sul mercato, sulle tecnologie di sviluppo e di comunicazione
disponibili per questi dispositivi. Viene quindi giustificata la scelta adottata per
sviluppare il progetto. Il capitolo successivo (Capitolo 4) descrive la progettazione e
l’implementazione del lavoro. Sempre nello stesso capitolo vengono descritti i risultati
sperimentali ottenuti nei vari test effettuati. Negli ultimi capitoli (Capitolo 5-6) trovano
spazio le considerazioni conclusive, insieme ad alcune indicazioni per futuri
approfondimenti (Capitolo 6). Conclude l’elaborato un’appendice relativa alla guida
redatta per l'utilizzo del software e ai report completi sui test effettuati.
8
2 Videosorveglianza remota
9
2 Videosorveglianza remota
In questi ultimi anni la diffusione di Internet e di sistemi di videosorveglianza ha
portato alla nascita di apparati per l'acquisizione e la distribuzione video in rete.
Caratteristica peculiare di questi sistemi è la possibilità di trasmettere il segnale video
tramite TCP/IP in modo tale da renderlo usufruibile da chiunque in qualsiasi
locazione della rete Internet. Inizialmente tali apparati si limitavano all'acquisizione
analogica del segnale video e alla registrazione dello stesso in locale su hard disk o
altro dispositivo di memorizzazione. L'utente poteva visionare i filmati registrati e il
video live direttamente dalla macchina. Negli ultimi anni questi dispositivi hanno
integrato la possibilità di remotizzare queste operazioni tramite Internet permettendo
all'utente di gestire il sistema di videosorveglianza da qualsiasi punto della rete.
Lo stato dell’arte attuale dei sistemi di video sorveglianza è diviso essenzialmente in
due approcci distinti, aventi come caratteristica comune il monitoraggio di
determinate situazioni. Il primo è relativo ai sistemi CCTV “Closed-Circuit TeleVision”
in cui un addetto ha il compito di controllare una innumerevole quantità di schermi,
collegati ognuno alle rispettive telecamere e in caso di anomalie agire secondo un
protocollo stabilito. Il secondo, di più recente applicazione, consiste nell’impiego di
sistemi di visione artificiale che, applicati alla videosorveglianza, rendono inutile la
costante presenza di un operatore in quanto, essendo sensibili a determinate
situazioni anomale, possono generare e gestire autonomamente allarmi. In entrambi
i casi si tratta di sistemi “wired” (cablati su filo) nei quali l’utente risulta essere
vincolato dall’ubicazione del terminale. L’ulteriore sviluppo che si sta apportando
deriva dal fatto che, grazie all’avvento di telefoni cellulari e PDA ad elevate
prestazioni e con interfacce utente sempre più sofisticate, sia possibile monitorare,
indipendentemente dalla locazione in cui si trova l’utente ed il suo terminale, una
serie di situazioni “real-time” che in assenza di una persona fisica sarebbero potute
essere visionate solo in differita. Nasce quindi un sistema di videosorveglianza
“wireless” nel quale ai terminali fissi vengono affiancati anche i terminali mobili. Ora,
in qualunque momento ed in qualunque luogo l’utente si trovi (purché sia presente
una copertura di rete da parte dei gestori di telefonia mobile) è garantita la visione di
ciò che succede in un determinato ambiente provvisto di video camere. Si pensi
all'ipotesi in cui il responsabile sia assente e voglia visionare la situazione. Il soggetto
avrebbe bisogno di un terminale (PC) provvisto almeno di una connessione ad
Internet, che non risulta essere sempre disponibile. Il problema viene così risolto
10
2 Videosorveglianza remota
mediante l’utilizzo di un terminale mobile sempre a disposizione.
2.1) Apparati di rete per la videosorveglianza
2.1.1) DVR
Il termine DVR (Digital Video Recorder) indica un dispositivo di acquisizione video
analogico dalle telecamere dell'impianto, che registrano in formato digitale il video
acquisito. I DVR utilizzati nel progetto gestiscono contemporaneamente da 4 a 16
telecamere e utilizzano tutti la compressione MPEG4 per il salvataggio del video su
hard disk interno. I DVR si differenziano in base alla modalità di funzionamento in
Simplex, Duplex o Triplex. Le modalità di funzionamento sono descritte di seguito:
ξ Simplex: indica un apparato in grado di svolgere una sola funzione alla volta;
videoregistrazione multiplexata/codificata oppure videate live multi-schermo
oppure riproduzione.
ξ Duplex: indica due unità simplex “assemblate” insieme che permettono di
svolgere due funzioni simultaneamente, tipicamente videoregistrazione
multiplexata /codificata e visualizzazioni multischermo.
ξ Triplex: tecnologia implementata sui moderni DVR che permette di svolgere
tre funzioni contemporaneamente cioè registrazione, riproduzione immagini e
trasmissione via internet simultanea.
I DVR utilizzati nel progetto sono tutti Triplex. Ad ogni DVR è associato un indirizzo
IP e una o più porte TCP/IP di comunicazione. Il video viene trasmesso in rete
tramite uno streaming video in formato proprietario. Da ogni DVR c'è la possibilità di
scaricare un intraframe dello streaming video di ogni canale tramite un comando http
GET. Questa funzionalità non era originariamente presente su tutti i DVR ma è stata
fatta implementare specificatamente per l'applicazione in questione.
Oltre alle funzionalità principali di registrazione e trasmissione video la maggior parte
dei DVR permette di gestire eventi di allarme su situazioni di motion (oggetti/persone
in movimento), perdita video o ingresso digitale esterno registrando per un periodo
11
2 Videosorveglianza remota
configurabile dall'utente. Ad ogni DVR è possibile collegare qualsiasi tipo di
telecamera analogica anche motorizzata. Tramite una porta seriale RS485 è infine
possibile comandare telecamere motorizzate, sia dal DVR sia da remoto. Le altre
funzioni aggiuntive dei DVR non sono state prese in considerazione in quanto non
rilevanti ai fini dell'applicazione da sviluppare.
La gestione di questi apparati avviene tramite una tastiera frontale e un OSD (On
Screen Display) o tramite un'applicazione client.
Figura 1: MyDVR430 - Icantek
Figura 2: DG116 - Dynacolor
2.1.2) Video Server
Per trasmettere il video su rete TCP/IP, i DVR integrano un particolare server (video
server) per la trasmissione video che si occupa di generare lo streaming video verso i
client che ne fanno richiesta. La porta di comunicazione su cui viene generato lo
streaming video è una porta TCP e il protocollo di trasmissione è RTSP o HTTP in
base al DVR utilizzato. Questa porta è configurabile dall'utente e in alcuni casi la
stessa viene utilizzata non solo per i dati video ma anche per i dati di controllo
remoto del DVR (interfaccia web).
Esistono apparati specifici per la sola trasmissione del video analogico acquisito in
ingresso su rete TCP/IP, denominati Video Server che differiscono dai DVR in
quanto non registrano il video acquisito in locale ma si occupano solamente della
codifica e trasmissione dello stesso in rete. Anche questi apparati possono gestire
eventi di allarme come i DVR generando notifiche ad un server configurabile e
controllare telecamere motorizzate tramite interfaccia seriale RS485. Alcuni video
12