Compressione con trasformata ESM - Esercitazione n. 503.05.07
L’argomento di questa esercitazione è la compressione di immagini tramite trasformata. Ci occuperemo della più diffusa tecnica di trasformata, la DCT, e della trasformata teoricamente ottima, la KLT.
1 Le trasformate lineari
Nei metodi di codifica con trasformata lineare i simboli di sorgente vengono raggruppati in blocchi di lunghezza N, ognuno dei quali viene sottoposto ad una trasformazione lineare:
y(k) = Σn=0N − 1 a(k, n)x(n) ∀k ∈ {0, 1, . . . , N − 1} (1)
In forma matriciale, la (1) diventa: y = Ax, dove A è una matrice N × N di generico elemento [A]k,n = ak,n.
È interessante considerare la classe di trasformazioni ortonormali reali, per le quali l’inversa di A coincide con la trasposta A−1 = AT. In tal caso si effettua semplicemente una rotazione nello spazio N-dimensionale e quindi si conserva l’energia (la norma) del vettore nel dominio trasformato. L’uso di una trasformata ortonormale ha gli obiettivi di ridurre la correlazione tra i campioni d’ingresso, di concentrare l’energia del segnale in un piccolo numero di coefficienti, e di separare coefficienti significativi e non significativi dal punto di vista psicovisuale.
La compattazione dell’energia, in particolare, permette di realizzare una più efficiente quantizzazione scalare nel dominio trasformato.
Estendiamo ora questi concetti alle immagini. Sia x un’immagine N × M. La trasformata lineare è definita elaborando l’immagine prima per righe e poi per colonne (trasformata separabile):
X = ANxAMT (2)
dove AN [AM] è la matrice N × N [M × M] di trasformazione lungo le colonne [righe], che infatti sono vettori di lunghezza N [M]. La relazione inversa per trasformazioni ortonormali reali e separabili è:
x = ANTXAM
Si noti che la trasformazione risulta perfettamente invertibile se non si effettua alcun tipo di elaborazione sui coefficienti trasformati.
Spesso la trasformata è applicata a blocchi: l’immagine x è suddivisa in blocchi b di K × K pixel (la forma quadrata non è necessaria, ma facciamo riferimento ad essa per semplicità), su ognuno dei quali possiamo utilizzare le equazioni di trasformata diretta ed inversa:
B = AKbAKT
b = AKTBAK
-
Elaborazione dei segnali multimediali - Esercitazione
-
Elaborazione dei segnali multimediali - Esercizi
-
Elaborazione dei segnali multimediali - Esercizi risolti
-
Elaborazione dei segnali multimediali - Esercizi