Il progetto consiste nello sviluppo di un sistema di codifica/decodifica MPEG-2 con simulatore di
canale integrato in grado di codificare un segnale video in ingresso, simularne la trasmissione su di un canale con
perdite, e visualizzare la sequenza video decodificata alla destinazione.
La specifica che l'intero processo debba essere eseguito in tempo reale, ha reso necessario
l'utilizzo di un DSP a causa dell'elevato carico computazionale dovuto alla codifica MPEG-2. In particolare è
stato utilizzato un Kit della Texas Instruments, Imaging Developer's Kit, composto da un DSP di ultima generazione, da
una scheda aggiuntiva dedicata all'acquisizione video, alla sua successiva digitalizzazione ed alla conclusiva
visualizzazione di immagini decodificate. L'intero Kit è corredato da un dispositivo di cattura delle immagini
con uscita PAL e da un'uscita analogica per la connessione a monitor esterno.
La realizzazione del progetto è
avvenuta mediante lo sviluppo parallelo di due programmi separati. Da un lato si è implementato un codificatore
decodificatore software MPEG-2 con il relativo simulatore di canale di trasmissione per la piattaforma DSP. Dall'altro
è stata progettata un' interfaccia grafica di
comunicazione tra utente e DSP per la modifica dei parametri di simulazione. Quest'ultima è una vera e propria
applicazione Windows che permette all'utente di analizzare in tempo reale la qualità della sequenza video
catturata dalla videocamera e al termine ricostruita, al variare del tipo di ripresa in questione.
L'interfaccia grafica consente di impostare tutti i parametri di codifica dell'algoritmo MPEG-2
permettendo di valutare le differenze in termini di qualità video e di velocità computazionale di
codifica/decodifica delle immagini. Nella finestra principale dell'applicazione vengono tracciati in tempo reale i
grafici relativi al bitrate medio, alla qualità della sequenza decodificata e ai valori del parametro
/quantizer_scale/ utilizzati dall'algoritmo di codifica per il controllo del bitrate. Una finestra dell'applicazione
è dedicata al simulatore del canale. Permette l'inserimento di perdite di pacchetti mediante il modello di
Gilbert, caratterizzato da una catena di Markov a due stati le cui probabilità di transizione sono selezionabili
dall'utente.
Il mascheramento degli errori nel progetto si è ottenuto tramite un concealment temporale che
prevede la sostituzione dei macroblocchi persi con gli stessi del frame precedente.
Nell'ultima parte del progetto si è focalizzata l'attenzione sull'incremento della robustezza
del bitstream MPEG-2. Infatti una sequenza video può essere caratterizzata da errori dovuti a propagazione
temporale, nel caso in cui un immagine decodificata fa riferimento ad un'immagine temporalmente precedente, ma tuttavia
rovinata, oppure a propagazione spaziale, nel caso in cui venga perso un pacchetto e di conseguenze tutti i
macroblocchi in esso contenuti.