tecniche di elaborazione numerica di immagine e...

203
Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti 1 TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E VIDEO Ing. Michele Scarpiniti Dipartimento INFOCOM – Università di Roma “La Sapienza” [email protected] http://ispac.ing.uniroma1.it/scarpiniti/index.htm Dispense su: http://ispac.ing.uniroma1.it/scarpiniti/didactics.htm

Upload: trinhdung

Post on 15-Feb-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti1

TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E VIDEO

Ing. Michele Scarpiniti

Dipartimento INFOCOM – Università di Roma “La Sapienza”[email protected]://ispac.ing.uniroma1.it/scarpiniti/index.htm

Dispense su: http://ispac.ing.uniroma1.it/scarpiniti/didactics.htm

Page 2: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti2

Lezione 2: Sommario

Codifica e Informazione;La compressione delle immagini;Tipi di file compressi;Codifica video.

Page 3: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti3

Come si è visto la rappresentazione bitmap, simile alla rappresentazione a matrice, è molto pesante da gestire perché ho tutti i dati presenti per ogni pixel.

C’è quindi l’esigenza di ridurre la dimensione dell’immagine per poter immagazzinare piùcomodamente l’immagine. Footer

Bitmap n Data

Palette n

……………………

Bitmap 2 Data

Palette 2

Bitmap 1 Data

Palette 1

Bitmap Index

Palette

Header

Codifica e Informazione (1/27)

Page 4: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti4

La cosa importante da notare è che non sono distribuite uniformemente nello spazio delle immagini.

È facile verificare ciò disegnando una distribuzione uniforme.

Codifica e Informazione (2/27)

Page 5: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti5

Possiamo distinguerle facilmente dalle immagini in figura.

Allora segue che queste sono disegnate a partire da distribuzioni molto differenti. Infatti, la distribuzione delle immagini naturali è in genere altamente non-uniforme.

Codifica e Informazione (3/27)

Page 6: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti6

Gli sviluppi di Claude Shannon nella teoria dell’informazione è stata una delle pietre miliari della scienza.

Shannon ha considerato la trasmissione di un messaggio attraverso un canale di comunicazione ed ha sviluppato una teoria matematica che quantifica le variabili in questione: la quantità di informazioni trasmessa e la capacità di un canale di trasportare le informazioni.

A causa della relativa generalità, la teoria ha trovato, e continua a trovare, un numero infinito di applicazioni in una varietà di discipline.

Codifica e Informazione (4/27)

Page 7: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti7

Una delle idee chiave nella teoria dell’informazioni è che la quantitàdi informazioni trasportata da un segnale è spesso di menodell'importo massimo che potrebbe essere trasmesso dal canale di comunicazione (anche conosciuta come la larghezza di banda del canale). Ciò deriva dal fatto che parte della capienza è consumata essenzialmente dalla struttura del segnale. Più è rigida la struttura, meno posto c’è per trasmettere/ricevente leinformazioni. Quindi, il contenuto di tutto il segnale può essere diviso nell’informazione e nella ridondanza. Questo aspetto è illustrato nella figura

Codifica e Informazione (5/27)

Page 8: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti8

Questo aspetto è illustrato di seguito:

L'immagine contiene un totale di 32 x 22 = 704 pixel. Quindi, larappresentazione standard (dove il colore di ogni pixel è indicato da un ‘1’ o uno ’0’) questa immagine richiede 704 bit. Ma non è difficile immaginare che uno potrebbe comprimerlo in un numero molto più piccolo di bit.

Codifica e Informazione (6/27)

Page 9: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti9

Per esempio, si potrebbe inventare una rappresentazione che presuppone uno sfondo bianco su cui i quadrati neri (posizione e formato) sono stampati. In tale rappresentazione, la nostra immagine potrebbe essere codificata semplicemente specificando gli angoli in alto a sinistra dei quadrati ((5,5) e (19,11)) e i loro formati (8 e 6). Ciò può certamente essere codificata con meno di 704 bit: ogni quadrato richiede tre numeri, quindi ciascuno di questi numeri potrebbe essere codificato con 5 bit, sono necessari allora un totale di 30 bit per due quadrati.Inoltre, alcuni bit potrebbero essere necessarie per indicare quanti quadrati sono stati codificati, supponendo che non sappiamo a priori se ce ne sono esattamente due. La cosa importante da capire è che questo genere di rappresentazione è buona per una determinata categoria di immagini (quelli con un piccolo numero di quadrati neri) ma non altri (che non hanno questa struttura o che richiedono una quantitàenorme di quadrati per essere rappresentate).

Codifica e Informazione (7/27)

Page 10: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti10

Anche se le immagini sono molto più variabili di questa ipotetica categoria di immagini, è tuttavia vero che mostrano strutture e possono essere compresse. Attneave è stato il primo a precisare esplicitamente la sovrabbondanza nelle immagini. La suddetta discussione è essenzialmente la stessa originariamente fatta da Attneave, anche se lui ha considerato un “indovinello” nel quale i soggetti dovevano indovinare il colore dei pixel di un immagine. Il fatto che i soggetti effettuavano molto bene la predizionedimostra che l'immagine è prevedibile, e la teoria dell’informazioni ci conferma che la prevedibilità sia essenzialmente la stessa cosa della ridondanza.A seguito di questa concezione, non è passato molto tempo prima che psicologi e biologi capissero che la teoria di informazione era direttamente legata alle mansioni dei sistemi biologici.

Codifica e Informazione (8/27)

Page 11: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti11

Effettivamente, l'input sensoriale è un segnale che trasporta le informazioni dal mondo esterno. Queste informazioni sono comunicate dai sensori neurali per mezzo di potenziali. In un suo articolo Attneave ha inoltre suggerito che il sistema visivo ricodifica gli input per ridurre la sovrabbondanza, fornendo una descrizione economica dei segnali sensoriali. Ha paragonato l'operazione del sistema visivo a quella di un ingegnere che cerca di rappresentare le immagini con il più piccolo numero possibile di bit. Il principio di codifica efficiente è considerare le statistiche tipiche dell'input sensoriale e poi derivare un modello per codificare efficientemente questo input. Quindi, il modello è confrontato alla fisiologia conosciuta del sistema visivo primario. Se il confronto è buono, è verificata l'idea che il cervello sta effettuando una codifica efficiente. Bisogna quindi introdurre qualche elemento della teoria dell’informazione.

Codifica e Informazione (9/27)

Page 12: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti12

Se E è un evento casuale la cui probabilità è P(E), l’informazionead esso associata è espressa da:

Codifica e Informazione (10/27)

I(E), detta anche la auto-informazione di E, si misura in unità di informazione determinate dalla base del logaritmo. Se essa è 2, l’informazione si misura in unità binarie o binit (da binary unit) o bit.Se l’evento è la generazione di un simbolo da parte di una sorgente di informazione discreta e a memoria zero, l’entropia o incertezza della sorgente, ovvero la quantità media di informazione associata alla singola generazione di un simbolo da parte della sorgente, è data da:

Page 13: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti13

L’entropia si misura in bit ed è tanto maggiore quanto più grande è l’incertezza della sorgente, ovvero quanto maggiore è l’informazione ad essa associata.Se i simboli della sorgente sono equiprobabili, l’entropia è massima: ad ogni emissione la sorgente fornisce la massima informazione possibile.Supponiamo adesso che ad ogni simbolo della sorgente sia associata una parola di un codice a lunghezza variabile.La lunghezza media delle parole del codice, espressa in bit per simbolo, è il bit rate del sistema di codifica:

Codifica e Informazione (11/27)

Page 14: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti14

In assenza di rumore nel canale di trasmissione e nel sistema dicodifica, un risultato fondamentale della teoria dell’informazione èespresso dal teorema di Shannon della codifica priva di rumore(noto anche come I teorema di Shannon): per una sorgente di informazione discreta e a memoria zero, il bit rate minimo è pari all’entropia della sorgente.L’esistenza di tale limite teorico inferiore consente di stabilire in modo semplice una misura dell’efficienza di una tecnica di codifica a lunghezza variabile:

Codifica e Informazione (12/27)

H è l’entropia, mentre Lavg è la lunghezza media dei codeword del codice utilizzato.

Page 15: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti15

La definizione può essere generalizzata per valutare l’efficienzarelativa del codice C2 rispetto al codice C1:

Codifica e Informazione (13/27)

dove Lavg1 e Lavg2 sono le lunghezze medie dei codeword dei due codici, e si suppone Lavg2 > Lavg1

Un parametro complementare all’efficienza è la ridondanza del codice, che può essere definita semplicemente come:

Se un codice raggiungesse il limite teorico, la sua efficienza sarebbe massima, e la sua ridondanza sarebbe nulla.

Page 16: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti16

Per ciò che riguarda la qualità dell’immagine decompressa, in alcune applicazioni (mediche, legali, artistiche) è richiesto che essa sia perfettamente uguale a quella dell’originale.Il processo di compressione deve essere in tal caso completamente reversibile, e quindi avvenire senza perdita di informazione (compressione error-free o lossless o information-preserving).In altri casi (TV, cinema, web), la perdita di una certa quantità di informazione è in genere tollerabile. Si possono pertanto adoperare processi di compressione con perdita di informazione (o lossy).La qualità del risultato di un processo di compressione/decompressione può essere misurata prendendo in considerazione criteri di fedeltà soggettivi oppure oggettivi.Come si è detto, la ridondanza dei dati è un elemento essenziale per la compressione. Non si tratta di un concetto astratto, ma di una entità matematicamente quantificabile.

Codifica e Informazione (14/27)

Page 17: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti17

Infatti, detti n1 e n2 il numero di bit necessari a rappresentare la stessa informazione in due differenti data set, la ridondanza relativa del primo data set rispetto al secondo è definita come:

Codifica e Informazione (15/27)

dove CR è il rapporto di compressione, definito come , CR = n1/n2 e questo nome si giustifica se la seconda rappresentazione è compressa.

Page 18: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti18

Se n1 = n2, CR = 1 e RD = 0: la prima rappresentazione dell’informazione non contiene dati ridondanti (rispetto alla seconda).

Se n2 << n1,CR → ∞ e RD → 1: la prima rappresentazione èestremamente ridondante, il rapporto di compressione può assumere valori significativi.

Se n2 >> n1, CR → 0 e RD → − ∞: la seconda rappresentazione contiene molti più dati della prima, si ha una espansione piuttosto che una compressione dei dati.

In generale, si ha pertanto: 0 < CR < ∞ e − ∞ < RD < 1. In pratica, un rapporto di compressione pari a 10 significa che la ridondanza è0.9, cioè che il 90% dei dati della prima rappresentazione può essere rimosso.

Codifica e Informazione (16/27)

Page 19: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti19

La compressione è resa possibile da due tipi di ridondanza presenti nelle immagini: la ridondanza statistica e la ridondanza psicovisuale.La ridondanza statistica può a sua volta essere classificata come ridondanza interpixel o geometrica e ridondanza della codifica.La ridondanza interpixel è legata al fatto che i pixel di una immagine (o di un gruppo di immagini successive in una sequenza)sono in genere correlati, e quindi statisticamente non indipendenti.La ridondanza interpixel può essere di tipo spaziale o di tipo temporale.La ridondanza spaziale o intraframe riguarda la correlazione statistica tra i pixel di una singola immagine. Questa correlazione èil risultato delle relazioni strutturali e/o geometriche tra gli oggetti presenti nell’immagine.

Si consideri l’esempio seguente:

Codifica e Informazione (17/27)

Page 20: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti20

Codifica e Informazione (18/27)Le due immagini hanno istogrammi(mostrati al centro) praticamente identici, con tre modi, indicanti la presenza di tre gamme di grigio dominanti.In basso è mostrato il coefficiente di autocorrelazione calcolato lungo una linea di ciascuna delle immagini.Si può notare la forte differenzanell’andamento del coefficiente per le due immagini prese ad esempio, legata alla differente struttura delle immagini.In particolare, l’elevata correlazione tra i pixel distanti 45 e 90 nella seconda immagine è dovuta alla presenza di oggetti uguali posti alle distanze indicate.

Page 21: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti21

Importante è la ridondanza psicovisuale, la sensibilità alle variazioni di luminosità diminuisce man mano che l’immagine diviene più scura (legge di Weber).

Codifica e Informazione (19/27)

Questo rende possibile usare una quantizzazione più grossolana nelle zone più scure dell’immagine, utilizzando cioè meno dati per rappresentare l’informazione meno importante: la conseguente perdita di informazione non influenza in modo rilevante la percezione.

Un’altra caratteristica del sistema visivo umano, importante per laridondanza psicovisuale, è l’incremento della soglia di discriminazione al crescere del dettaglio dell’immagine: si possono quindi utilizzare meno bit nelle zone a forte tessitura, mentre se ne devono usare di più nelle zone uniformi, per evitare i falsi contorni.

Page 22: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti22

Codifica e Informazione (20/27)

L’immagine sulla sinistra è quantizzata a 256 livelli, quella al centro a 16 (quindi CR = 2), ma esibisce evidenti falsi contorni nelle regioni a grigiouniforme.L’immagine sulla destra dà un’idea del significativo miglioramento visuale derivante da una differente allocazione dello stesso numero di bit.

Page 23: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti23

I falsi contorni risultano grandemente ridotti, mentre aumenta la granulosità dell’immagine (rumore ad alta frequenza), che però risulta molto meno fastidiosa: sfruttando la peculiarità del sistema visivo umano, con lo stesso numero di bit (quindi ancora CR = 2), si ottengono risultati qualitativamente più accettabili.Come si può notare, la ridondanza psicovisuale è fondamentalmente differente dalla ridondanza statistica, in quanto essa è associata all’informazione visuale, non soltanto ai dati: la sua riduzione (al limite, la sua eliminazione) è possibile solo in quanto l’informazione stessa non è essenziale.Durante questa transizione il sistema visivo umano non è sensibile ai dettagli, e anche di questo si può tenere conto a scopo di codificaInfine, è noto che il sistema visivo umano è più sensibile alle variazioni di luminanza che a quelle di crominanza. Pertanto, meno bit possono essere utilizzati per la codifica delle componenti di crominanza che per la codifica della componente di luminanza

Codifica e Informazione (21/27)

Page 24: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti24

Durante la quantizzazione si rischia però di perdere informazione non ridondante; è quindi necessario poter misurare o almeno caratterizzare quantitativamente la perdita di informazione, ovvero la qualità dell’immagine ricostruita, cioè la sua fedeltà all’originale.Per esempio, il confronto tra due metodi di compressione richiede la valutazione della qualità delle immagini ricostruite con i due metodi: solo a parità di qualità è possibile giudicare superiore il metodo che produce meno dati, o, in alternativa, a parità di dati prodotti èpossibile giudicare superiore il metodo che realizza la migliore fedeltà dell’immagine o del video ricostruiti all’originale.Purtroppo, non è semplice misurare la qualità di immagini e video ricostruiti.A tal fine sono stati definiti dei criteri di fedeltà, che si dividono in due grandi classi: criteri soggettivi e criteri oggettivi.

I criteri soggettivi si basano sull’osservazione umana, e risultano piùappropriati quando la destinazione finale delle immagini decompresse èil sistema visivo umano.I criteri oggettivi si basano invece su misure quantitative effettuate direttamente sulle immagini.

Codifica e Informazione (22/27)

Page 25: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti25

Un criterio soggettivo viene in genere applicato mostrando tipiche immagini (o frame video), ricostruite a partire da immagini compresse con parametri di codifica variabili, ad un campione di osservatori ed effettuando una media delle loro valutazioni sulla qualità delle immagini stesse.La valutazione di ciascun osservatore può essere effettuata utilizzando una scala assoluta di valori, oppure mediante una comparazione dell’immagine ricostruita con l’originale.Un esempio di criterio comparativo, messo a punto presso i Bell Labs e poi adottato come uno degli standard di valutazione dal CCIR (Comité ConsultatifInternational des Radiotélécommunications), oggi ITU-R (InternationalTelecommunications Union - Radiocommunication Sector), prevede una scala a 5 valori del peggioramento (rispetto all’originale) della qualità dell’immagine ricostruita:

1. Il peggioramento non è evidente2. Il peggioramento è appena visibile3. Il peggioramento è decisamente visibile, ma non sgradevole4. Il peggioramento è sgradevole5. Il peggioramento è decisamente sgradevole

Codifica e Informazione (23/27)

Page 26: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti26

Un’altra soluzione consiste nell’identificazione, nell’ambito di un insieme di immagini, di quelle che sembrano di uguale qualità, e nella produzione, a partire da esse, di curve isopreferenza nello spazio dei parametri di codifica.Questa tecnica è stata per esempio seguita nell’esperimento di Huang citato a proposito degli effetti della variazione contemporanea di risoluzione e quantizzazione.La valutazione soggettiva della qualità è comunque una operazione costosa, poiché necessita in genere di un gran numero di immagini e di osservatori, dura a lungo, etc.Un buon esempio di criterio di fedeltà oggettivo è l’errore quadratico medio (rms) tra l’immagine originale (o di input) f(x,y) e l’immagine ricostruita (o di output) In ogni punto (x,y), l’errore e(x,y) è così definito:

Codifica e Informazione (24/27)

( ),f x y

Page 27: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti27

Per cui l’errore totale tra le due immagini, supposte M x N, è:

Codifica e Informazione (25/27)

Quadrando l’errore totale, mediandolo sull’intero array M x N, ed infine estraendone la radice quadrata, si ottiene l’errore quadratico medio erms tra f(x,y) e ( ),f x y

Page 28: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti28

Un altro criterio oggettivo, abbastanza correlato al precedente, ècostituito dal rapporto segnale - rumore tra l’immagine originale e quella decompressa, definito come:

Codifica e Informazione (26/27)

Si è considerata in questo caso l’immagine decompressa come un segnale affetto dal rumore e(x,y), la cui versione non rumorosa èproprio f(x,y):

Naturalmente la versione rms di SNR si ottiene estraendo la radice quadrata di SNRms.

Page 29: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti29

E’ abbastanza comune anche la versione logaritmica della definizione precedente:

Codifica e Informazione (27/27)

Come è facile vedere, maggiore è il SNR, migliore è la qualità della immagine ricostruita, dato che essa approssima l’originale.Il problema con le misure oggettive di qualità è che esse non tengono conto della utilizzazione piuttosto diversificata che il sistema visivo umano fa dell’informazione visuale, per cui il risultato della misura oggettiva non è necessariamente coerente con le risultanze del giudizio soggettivo.

Page 30: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti30

Un sistema per la compressione-decompressione di immagini consiste di due distinte unità strutturali: il codificatore (encoder) ed il decodificatore (decoder):

La compressione delle immagini (1/139)

L’immagine di ingresso, f(x,y), è elaborata dal codificatore, che genera un set di simboli del codice i quali vengono trasmessi, attraverso il canale, fino al decodificatore, che genera una immagine ricostruita.In generale, può essere oppure no una replica esatta della f(x,y).

( ),f x y

Page 31: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti31

Se la replica è esatta, il sistema si dice error free o informationpreserving, in caso contrario esso manifesta un certo grado di distorsione nell’immagine ricostruita.Sia il codificatore che il decodificatore sono costituiti da due sotto-blocchi relativamente indipendenti.In particolare, l’encoder è costituito dal codificatore di sorgente, che rimuove le ridondanze presenti nei dati di input generando una rappresentazione codificata, e dal codificatore di canale, che incrementa l’immunità al rumore del segnale di uscita del codificatore di sorgente.Il decodificatore comprende il decodificatore di canale ed il decodificatore di sorgente, che svolgono le funzioni inverse rispetto a quelle svolte dai blocchi del codificatore.

Se il canale di trasmissione è senza errore, codificatore e decodificatore di canale vengono omessi.

La compressione delle immagini (2/139)

Page 32: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti32

In generale, il codificatore di sorgente opera su tutte e tre le forme possibili di ridondanza. La specificità dell’applicazione, e i connessi criteri di fedeltà, determinano la tecnica più appropriata da utilizzareNormalmente, è possibile utilizzare un modello separato per ciascuna delle tre operazioni di riduzione della ridondanza:

La compressione delle immagini (3/139)

Compito del mapper è quello di trasformare i dati di input in un formato (normalmente non visuale) pensato per ridurre la ridondanza interpixel.Questa operazione può direttamente effettuare una compressione, oppure no.

Page 33: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti33

L’operazione di mapping è in genere reversibile.Il quantizzatore riduce la ridondanza psicovisuale presente all’uscita del mapper, in generale nel rispetto di un criterio di fedeltà.Dato che la quantizzazione è una operazione irreversibile, il quantizzatore non può essere presente se la compressione deve essere senza perdita di informazione.Infine il codificatore di simbolo genera l’uscita complessiva del processo di compressione, utilizzando un codice a lunghezza di parola fissa o, più frequentemente, variabile, che sfrutta la ridondanza della codifica.Anche la codifica di simbolo è una operazione reversibile.

Non necessariamente questo avviene negli algoritmi reali di compressione: come già detto, l’operazione di quantizzazione può non essere presente, mentre in altri casi alcune fasi, per esempio mapping e quantizzazione, possono essere effettuate contemporaneamente.

La compressione delle immagini (4/139)

Page 34: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti34

Il decodificatore di sorgente contiene solo due blocchi, che effettuano in ordine rovesciato l’inversione delle operazioni dei corrispondenti blocchi del codificatore (non può esistere un quantizzatore inverso):

La compressione delle immagini (5/139)

Quando il canale di trasmissione è rumoroso, l’immunità al rumore del segnale può essere incrementata dall’azione del codificatore di canale, che introduce un grado controllato di ridondanza nel segnale compresso dal codificatore di sorgente, utilizzando tecniche di codifica .Questa operazione, che viene poi invertita in ricezione dal decodificatore di canale, è ovviamente costosa dal punto di vista del rapporto di compressione complessivo.

Page 35: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti35

Pertanto lo schema che ci interessa maggiormente è quello di codifica - decodifica di sorgente, e da ora in poi tralasceremo gli aspetti relativi al canale di trasmissione, tenendo conto degli elementi della teoria dell’informazione che rimangono pertinenti.

Dal punto di vista della teoria dell’informazione, occorre innanzitutto definire un modello statistico del processo di generazione di una immagine. Si consideri a tal fine la seguente immagine 4 x 8 a 8 bit:

La compressione delle immagini (6/139)

La definizione del modello ènecessaria, innanzitutto, se si vuole stimare il contenuto informativo, cioèl’entropia, dell’immagine.

Page 36: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti36

Per esempio, si può considerare l’immagine come prodotta da una sorgente (immaginaria) di livelli di grigio a 8 bit, che emette valori statisticamente indipendenti, in accordo ad una predefinita legge di probabilità.I simboli della sorgente sono pertanto i livelli di grigio, e l’alfabetodella sorgente è costituito da 256 simboli.Il calcolo dell’entropia, che ricordiamo è la quantità media di informazione associata alla emissione di un simbolo, quindi nel nostro caso al singolo pixel, richiede la conoscenza della probabilità con cui vengono emessi i simboli, in modo da poter applicare la:

La compressione delle immagini (7/139)

Se per esempio i livelli di grigio sono ipotizzati equiprobabili, l’entropia della sorgente è pari a 8 bit/pixel, e l’informazione complessiva dell’immagine è 8 x 4 x 8 = 256 bit.

Page 37: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti37

Avendo assunto uniforme la distribuzione di probabilità dei livelli di grigio, l’immagine considerata è solo una delle 28x4x8 = 2256 ~ 1077

immagini equiprobabili che la sorgente è in grado di produrre.Più appropriata è l’adozione di un modello della sorgente basato sulla frequenza delle occorrenze dei livelli di grigio nell’immagine considerata.In altre parole, l’immagine è considerata in questo caso come un campione rappresentativo del comportamento della sorgente che l’ha generata.Ovviamente la distribuzione delle probabilità dei livelli di grigio coincide con l’istogramma dell’immagine:

La compressione delle immagini (8/139)

L’entropia è pertanto:Liv. grigio

N. pixel Prob.

21 12 3/8 95 4 1/8

169 4 1/8 243 12 3/8

Page 38: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti38

Questa stima dell’entropia della sorgente, che porta ad una entropia totale dell’immagine di 1.81 x 32 ~ 58 bit, è detta del primo ordine.Una approssimazione ancora migliore del comportamento della sorgente può essere effettuata considerando le occorrenze di blocchi di pixel, e non di singoli pixel: quando la dimensione del blocco tende ad infinito, la stima dell’entropia approssima il vero valore della entropia della sorgente.Per esempio, una stima del secondo ordine dell’entropia può essere calcolata considerando la frequenza delle occorrenze di coppie di pixel nell’immagine campione (seconda estensione della sorgente):

La compressione delle immagini (9/139)

Liv. grigio

N. pixel Prob.

(21,21) 8 1/4 (21,95) 4 1/8 (95,169) 4 1/8 (169,243) 4 1/8 (243,243) 8 1/4 (243,21) 4 1/8

L’immagine è stata considerata come se la fine di ogni riga fosse connessa con l’inizio della successiva (la fine dell’ultima con l’inizio della prima).La stima dell’entropia del secondo ordine risulta pari a 2.5/2, ovvero 1.25 bit/pixel.

Page 39: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti39

Stime di ordine superiore al secondo forniscono una approssimazione migliore dell’entropia della sorgente, ma divengono ben presto poco gestibili dal punto di vista computazionale.Per esempio, un’immagine a 8 bit ha in generale (28)2 = 65536 possibili coppie di simboli di cui bisognerebbe calcolare la frequenza di occorrenza. Se si considerano blocchi di dimensione maggiore, per esempio di 5 pixel, il numero delle combinazioni possibili cresce a (28)5 ~ 1012.Tuttavia le stime dell’entropia sono utili in quanto possono dare indicazioni sulle possibilità di compressione dell’immagine studiata.Per esempio, la stima del primo ordine è il limite inferiore (come abbiamo visto) della lunghezza media di parola nel caso di codifica a lunghezza variabile.Le differenze tra la stima del primo ordine e quelle di ordine superiore, invece, danno un’idea del margine di compressibilitàper riduzione della ridondanza interpixel.

La compressione delle immagini (10/139)

Page 40: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti40

Infatti, se i pixel fossero statisticamente indipendenti (nel qual caso l’immagine non presenterebbe ridondanza interpixel), le stime di ordine più elevato sarebbero equivalenti a quella del primo ordine, e la codifica ottima sarebbe quella a lunghezza di parola variabile.Nell’esempio precedente, la differenza tra la stima del primo e quella del secondo ordine, 1.81 - 1.25 = 0.56 bit/pixel, indica che èpossibile effettuare una riduzione della ridondanza interpixel, e quindi ha senso cercare una appropriata tecnica di mapping.Per esempio, se la trasformazione consistesse nella differenza aritmetica tra colonne adiacenti (con la prima colonna inalterata), si avrebbe:

La compressione delle immagini (11/139)

Page 41: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti41

Ne risulterebbe la seguente distribuzione di valori:

La compressione delle immagini (12/139)

Differenze Occorr. Prob. 0 12 1/2 21 4 1/8 74 12 3/8

Se questa matrice viene considerata generata da una sorgente di “differenze di livelli di grigio”, la stima del primo ordine dà 1.41 bit/pixel.

Questo significa che codificando a lunghezza variabile le differenze dei livelli di grigio, si otterrebbe la possibilità (teorica) di trovare un codice la cui lunghezza media di parola potrebbe tendere ad un limite inferiore pari a 1.41 bit, quindi 46 bit per l’intera immagineQuesto valore è più piccolo dei 58 bit derivanti dalla stima del primo ordine dell’entropia dell’immagine di partenza, ma rimane maggiore della stima dell’entropia del secondo ordine (1.25 bit/pixel), per cui èprobabilmente possibile trovare una trasformazione migliore dal punto di vista della riduzione della ridondanza interpixel.

Page 42: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti42

Abbiamo quindi considerato il processo di compressionecome un processo di riduzione dell’entropia complessiva dell’immagine (codifica di sorgente nel linguaggio della teoria dell’informazione), che nel caso error free è relativo alle operazioni di mapping e codifica di simbolo.

Se invece la compressione è con perdita di informazione, quindi richiede una quantizzazione, sappiamo dal teorema di Shannon della codifica di sorgente che è possibile contenere la distorsione, purchè il bit rate soddisfi la condizione R ≥ R(D).

La compressione delle immagini (13/139)

Page 43: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti43

Le tecniche di compressione senza perdita, peraltro le uniche accettabili o legalmente possibili in alcune applicazioni, consentono di raggiungere rapporti di compressione normalmente non superiori a10 ÷20.Possono essere applicate sia a immagini binarie sia ad immagini a livelli.Come si è visto, prevedono normalmente sia una operazione di mapping,sia una codifica di simbolo.Supponiamo dapprima di voler ridurre solo la ridondanza della codifica. Questo può essere fatto con una codifica a lunghezza variabile (VLC), che assegni i codeword più brevi ai livelli di grigio piùprobabili, in modo da minimizzare la:

La compressione delle immagini (14/139)

In realtà, tecniche di questo tipo possono operare direttamente sui pixel o su una loro rappresentazione ottenuta attraverso un mapping capace di ridurre anche la ridondanza interpixel.

Page 44: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti44

La tecnica più nota per la riduzione della ridondanza di codifica èdovuta a D.A. Huffman: essa realizza la migliore performance possibile in caso di codifica individuale dei simboli emessi da una sorgente.I codici Huffman sono pertanto codici a codeword di lunghezza variabile: i simboli dell’alfabeto che costituiscono il messaggio sono codificati con sequenze di bit di diversa lunghezza.La codifica Huffman è ottima, secondo il teorema della codifica senza perdite, in quanto permette di ottenere la lunghezza media di codeword minima tra tutti i possibili sistemi di codifica di simbolo a blocchi, quindi è quella che meglio approssima l’entropia della sorgente.La potenza dei codici Huffman sta nel fatto che tutte le parole del codice sono univocamente decodificabili.

La compressione delle immagini (15/139)

Si considerino per esempio i simboli a fianco, con i rispettivi codici:La sequenza di bit 01101110100 èdecodificabile univocamente come `ACDABA`.

Page 45: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti45

L’algoritmo per la costruzione del codice Huffman èbasato sul cosiddetto albero binario di codifica.

I passi dell’algoritmo sono i seguenti:

• Ordinare i simboli per probabilità decrescenti;• Dai due simboli con probabilità più bassa costruire un nuovo simbolo

virtuale la cui probabilità è la somma delle probabilità dei simboli di partenza;

• Ripetere i primi due passi finché non si ottiene un solo simbolo virtuale la cui probabilità è 1;

• Costruire l’albero di codifica a partire dalla radice (corrispondente al simbolo virtuale con probabilità 1), retrocedendo fino ai simboli originali, e aggiungendo 1 ad ogni ramo inferiore e 0 ad ogni ramo superiore.

La compressione delle immagini (16/139)

Page 46: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti46

Nel caso della compressione di immagini, i simboli da codificare possono essere direttamente i livelli di grigio.Sia data una immagine in cui compaiono i seguenti livelli di grigio, con le rispettive probabilità:

La compressione delle immagini (17/139)

Si ordinano i livelli digrigio in ordine diprobabilità decrescente

I due simboli con le probabilità minorivengono aggregati in un nuovo simbolo virtuale, A, con probabilità pari alla somma delle probabilità:

Page 47: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti47

Il nuovo simbolo sostituisce i due simboli di partenza, e la lista dei simboli viene quindi riordinata per probabilità decrescenti:

La compressione delle immagini (18/139)

Procedendo allo stesso modo:

Il nuovo simbolo sostituisce i due simboli di partenza, e la lista dei simboli viene quindi riordinata per probabilità decrescenti:

Procedendo allo stesso modo:

Infine:

Page 48: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti48

Riassumendo, si sono fatte le seguenti riduzioni di sorgente:

La compressione delle immagini (19/139)

A questo punto, può essere costruito l’albero di codifica, assegnando sequenzialmente 0 e 1 ai vari rami, in modo da rendere distinguibili, ad ogni passo, i simboli associati ai rami stessi.

Page 49: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti49

I codeword risultanti sono quindi formati percorrendo l’albero dalla radice alle foglie (procedura di assegnazione):

La compressione delle immagini (20/139)

Page 50: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti50

Si parla di codici Huffman, e non del codice Huffman, poichè per una data distribuzione di probabilità dei simboli di sorgente vi possono essere differenti alberi di codifica, e quindi differenti assegnazioni di codeword ai simboli, anche di differente lunghezza.La codifica Huffman è ottima, secondo il teorema della codifica senza perdite, in quanto permette di ottenere la lunghezza media di codeword minima tra tutti i possibili sistemi di codifica di simbolo a blocchi, quindi è quella che meglio approssima l’entropia della sorgente.Infatti, nell’esempio sopra riportato si ha:

Lavg = 2.25 bit/simbolo H = 2.192 bit/simbolo

L’efficienza del codice appena costruito è pertanto:

La compressione delle immagini (21/139)

Page 51: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti51

La costruzione dei codici Huffman può risultare computazionalmente molto gravosa.Infatti, per una sorgente caratterizzata da un alfabeto di J simboli occorrono J - 2 riduzioni della sorgente e J - 2 passi di assegnazione delle parole ai simboli.Una immagine codificata con 8 bit/pixel richiede pertanto 254 riduzioni e 254 assegnazioni.Inoltre, la codifica alla Huffman richiede la conoscenza della statistica dei livelli di grigio dell’immagine.Per contro, una volta costruito il codice, le operazioni di codifica e decodifica sono estremamente semplici, e possono essere realizzate per ispezione di appropriate tabelle di look-up.

La compressione delle immagini (22/139)

Page 52: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti52

Un codice Huffman è un codice a blocchi, istantaneo, univocamente decodificabile:

A blocchi, in quanto ogni simbolo della sorgente è associato ad una sequenza fissata di simboli del codiceIstantaneo, in quanto in una stringa di simboli del codice, ogni parola può essere decodificata senza attendere simboli successiviUnivocamente decodificabile, in quanto ogni stringa di simboli del codice può essere decodificata in un solo modo

Infatti, con riferimento all’esempio precedente, è facile verificare che una ispezione, da sinistra verso destra, della stringa 1010110111011 … consente la decodifica in r3 r3 r4 r0 r3 r4 …

La complessità computazionale della costruzione non è tuttavia l’unico problema dei codici Huffman: c’è infatti da considerare il seguente aspetto

La compressione delle immagini (23/139)

Page 53: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti53

Per consentire la decodifica in modo corretto, l’insieme dei codeword, il cosiddetto codebook, deve essere reso noto al decoder.In generale, questo significa che anche il codebook va trasmesso o memorizzato, insieme con i dati codificati, costituendo un overheaddi cui occorre tenere conto nella valutazione complessiva dell’efficienza del processo di codifica – decodifica.La dimensione dello spazio di memoria necessario per il codebookdiventa quindi un parametro significativo.La memoria del codebook M è definita come la somma delle lunghezze di tutte le parole del codice.Supponiamo adesso che la distribuzione delle probabilità di occorrenza dei simboli della sorgente sia tale che, a fronte di alcune probabilità elevate, ce ne siano di abbastanza piccole in numero significativo. Pertanto molti codeword risultano lunghi, e conseguentemente anche la memoria del codebook tende a diventare grande.

La compressione delle immagini (24/139)

Page 54: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti54

Per ovviare alla complessità di generazione dei codici Huffman, si ricorre spesso a varianti computazionalmente più efficienti nella costruzione, e quasi-ottime nella prestazione, alcune delle quali sono studiate in modo da affrontare anche il problema della dimensione della memoria del codebook.Tutti i codici assegnano le parole più corte ai simboli più probabili, ma naturalmente la lunghezza media del codice Huffman è la più bassa, ed è in questo caso abbastanza vicina al valore dell’entropia. La lunghezza media del codice binario puro è invece decisamente la peggiore.Il primo codice modificato è il codice Huffman troncato. La modifica consiste nel generare alla Huffman solo i primi ψ (i più probabili) simboli dell’elenco, con ψ < J intero positivo (J è il numero dei simboli della sorgente): tutti gli altri J - ψ simboli vengono rappresentati mediante un opportuno prefisso seguito da una parola di un codice a lunghezza fissa.Nell’esempio si è scelto arbitrariamente ψ = 12, ed il codeword che fa da prefisso è stato generato come 13a parola del codice Huffman. A tal fine, ad un tredicesimo simbolo di sorgente “virtuale” è stata attribuita una probabilità uguale alla somma delle probabilità dei J - ψ simboli non codificati direttamente.

La compressione delle immagini (25/139)

Page 55: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti55

Una volta determinato il codice del prefisso, i J - ψ simboli rimanenti vengono codificati utilizzando un codice binario puro, con il numero di bit strettamente sufficiente.Ad ogni simbolo viene quindi associato un codeword costituito dal prefisso, seguito dal codice corrispondente al pedice del simbolo, diminuito della quantità ψ + 1.Scegliendo opportunamente il valore di ψ, il codice Huffman troncatoconsente anche di contenere la dimensione della memoria del codebook.Infatti, se li è la lunghezza della parola del codice associata all’i-mo simbolo della sorgente, la memoria del codebook del codice Huffmanè data da:

La compressione delle immagini (26/139)

Page 56: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti56

Invece la memoria del codebook del codice Huffman troncato è data da:

La compressione delle immagini (27/139)

essendo lpref la lunghezza del prefisso.

Nell’esempio, si ha, rispettivamente, M = 103 e Mtrunc = 55.Ovviamente la scelta del valore di ψ deve soprattutto tener conto della necessità di ottenere una lunghezza media di parola sufficientemente contenuta, dato che principalmente da essa dipende la performance del sistema di compressione.Il codice B2 appartiene ad una famiglia di codici, detti codici B, caratterizzati dal fatto che ogni parola di codice è costituita da bit di continuazione, indicati con C, e da bit di informazione, che rappresentano numeri binari naturali (il pedice 2 significa che questo particolare codice ha due bit di informazione per ogni bit di continuazione).

Page 57: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti57

La compressione delle immagini (28/139)

Page 58: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti58

I bit di continuazione hanno il solo scopo di separare codewordsuccessivi in una stringa di bit; a tal fine il loro valore cambia da 0 a 1 (e viceversa) ad ogni codeword.Per esempio, alla stringa di simboli della sorgente A11A2A7corrisponde la stringa di bit 001 010 101 000 010 se si assume 0come primo bit di continuazione, ovvero la stringa di bit 101 110 001 100 110 se si assume 1 come primo bit di continuazione.Il comportamento dei codici B è vicino all’ottimo quando la distribuzione di probabilità dei simboli della sorgente è del tipo:

La compressione delle immagini (29/139)

essendo β una costante positiva, mentre j = 1, …, JQuesto andamento è tipico, per esempio, delle occorrenze delle lunghezze delle sequenze (run) di pixel neri o bianchi nella rappresentazione in forma di immagine binaria di un testo dattiloscritto.

Page 59: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti59

Gli ultimi due codici riportati nella tabella sono rappresentativi di un’altra famiglia di codici a lunghezza variabile, i cosiddetti codici a shift.La costruzione di un codice a shift è molto semplice: dopo aver ordinato i simboli della sorgente per priorità decrescenti, essi vengono divisi in blocchi di uguale lunghezza.Gli elementi nella medesima posizione in ogni blocco vengono codificati in maniera identica, ed un codice speciale di shift viene utilizzato per distinguere un blocco dall’altro.La situazione è analoga a quella di una tastiera: quasi tutti i tasti possono rappresentare due simboli differenti, ed è la contemporanea pressione o non pressione del tasto di shift che abilita l’uno o l’altro dei significati.Quando il decoder incontra uno o più codeword consecutivi relativi al simbolo di shift, si sposta di uno o più blocchi rispetto a quello iniziale, detto blocco di riferimento.

La compressione delle immagini (30/139)

Page 60: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti60

Nell’esempio in tabella, i simboli della sorgente, disposti in ordine di probabilità decrescente, sono suddivisi in tre blocchi di sette elementi.I simboli del blocco superiore (da A1 a A7), considerato il blocco di riferimento, sono codificati utilizzando un codice binario naturale a 3 bit o un codice Huffman.Nel caso del codice binario a shift, i simboli del blocco di riferimento sono codificati con le parole da 000 a 110, mentre la parola 111 viene utilizzata come codice di shift. I simboli appartenenti agli altri due blocchi sono codificati mediante uno o due shift, seguiti dalle parole binarie utilizzate per i simboli corrispondenti del blocco principale. Per esempio, il simbolo A19 ècodificato come 111 111 100.Con una tecnica analoga a quella vista per il codice Huffman troncato, la probabilità del simbolo di shift può essere assunta uguale alla somma delle probabilità dei simboli rimasti fuori dal blocco principale.Nell’esempio, la somma è pari a 0.39, e di conseguenza il codewordassegnato al simbolo di shift è 00, cioè uno dei più brevi.E’ da notare come alcuni codici a shift vengono costruiti in modo da definire due simboli di shift, uno di shift-up per spostamenti in avanti e uno di shiftdown per spostamenti all’indietro rispetto al blocco di riferimento.

La compressione delle immagini (31/139)

Page 61: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti61

La compressione aritmetica è un altro metodo di compressione che sfrutta la ridondanza della codifica.A differenza dei codici Huffman e degli altri codici a lunghezza di parola variabile finora esaminati, la codifica aritmetica non generacodici a blocchi, in quanto non esiste più una corrispondenza uno a uno tra un simbolo della sorgente e una parola del codice.E’ invece un messaggio, cioè una sequenza di simboli della sorgente, a corrispondere ad una singola parola del codice.In tal modo non è più necessario associare ad ogni simbolo della sorgente un numero intero di bit, come nel caso dei codici Huffman, e pertanto la codifica aritmetica è teoricamente in grado di raggiungere il limite previsto dal teorema della codifica priva di rumore, costituito dall’entropia.Sotto questo aspetto, è stato dimostrato che la lunghezza mediadelle parole di un codice Huffman soddisfa la disuguaglianza:

La compressione delle immagini (32/139)

Page 62: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti62

Pertanto il limite superiore della lunghezza media di parola ottenibile con un codice Huffman dipende dall’entropia H e da pmax, la probabilità massima di occorrenza dei simboli della sorgente .Se in particolare le probabilità di occorrenza variano in un rangemolto ampio, il limite superiore può diventare elevato, impedendo una efficace riduzione della ridondanza della codifica.Consideriamo un caso estremo: l’alfabeto della sorgente è fatto di due soli simboli, uno con probabilità molto elevata, vicina a 1, l’altro con probabilità molto bassa, vicina a 0.L’entropia della sorgente è in queste condizioni molto bassa, dato che l’incertezza è pochissima. Tuttavia il codice Huffman, necessariamente, sarà costituito da due parole di un bit, una per ciascun simbolo, quindi con Lavg= 1.Pertanto l’efficienza del codice è praticamente nulla, e la sua ridondanza quasi del 100%.

La compressione delle immagini (33/139)

Page 63: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti63

Questo esempio stressa il fatto che l’inefficienza del codice Huffmanè dovuta alla necessità di codificare i simboli della sorgente con numeri interi di bit.Invece la codifica aritmetica non ha questo vincolo. Per illustrare la tecnica, consideriamo una sorgente con alfabeto di 6 simboli, con le probabilità indicate:

La compressione delle immagini (34/139)

Supponiamo che il messaggio da codificare sia proprio S1 S2 S3 S4 S5 S6.Dato che la somma delle probabilitàè uguale a 1, utilizziamo un intervallo (reale) di lunghezza pari a 1 per rappresentare la distribuzione delle probabilità dei simboli della sorgente (si noti che non è necessario riordinare i simboli).

Page 64: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti64

La probabilità di ogni simbolo è rappresentata da un intervallo (chiuso a sinistra, aperto a destra), mostrato nella tabella precedente e nella figura:

La compressione delle immagini (35/139)

Page 65: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti65

All’inizio del processo di codifica, l’intero intervallo [0, 1) è occupato dal messaggio da codificare: ciò significa che un numero reale in questo intervallo può rappresentare il messaggio stesso. Quale numero?Dato che il simbolo S1 è il primo del messaggio, l’intervallo del messaggio è ristretto inizialmente a [0, 0.3). Questo è rappresentato graficamente visualizzando l’intervallo corrispondente a S1 in modo che esso venga ad occupare l’intera figura.Questa restrizione dell’intervallo del messaggio significa che qualunque numero reale maggiore o uguale a 0 e minore di 0.3 puòessere utilizzato per rappresentare il simbolo S1 ovvero qualunque messaggio composto da simboli della sorgente in esame e cominciante con S1.L’intervallo ristretto viene quindi nuovamente suddiviso in intervalli semiaperti a destra, la cui dimensione rispetta la distribuzione delle probabilità dei simboli della sorgente.

La compressione delle immagini (36/139)

Page 66: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti66

Poiché il secondo simbolo del messaggio è S2, qualunque numero reale maggiore o uguale di 0.09 e minore di 0.12 può essere usato per rappresentare la stringa S1 S2 ovvero qualunque messaggio composto da simboli della sorgente in esame e cominciante con S1S2.Il procedimento viene quindi reiterato prendendo in considerazione, uno dopo l’altro, i simboli che compongono il messaggio, restringendo i relativi intervalli, e così via, fino alla fine del messaggio.L’uscita del processo è quindi un intervallo, nell’esempio [0.1058175, 0.1058250): qualunque numero in tale intervallo può essere utilizzato per codificare il messaggio originario.Spesso, però, è il limite inferiore dell’intervallo che viene utilizzato per codificare il messaggio.Nell’esempio si sono usati numeri decimali, ma il principio è lo stesso anche nel caso della codifica aritmetica binaria.

La compressione delle immagini (37/139)

Page 67: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti67

Vediamo adesso il processo di decodifica, assumendo che il numero utilizzato per la codifica sia l’estremo inferiore dell’intervallo finale.Per ipotesi, al decodificatore è nota la distribuzione delle probabilitàdei simboli della sorgente, nonché la suddivisione dell’intervallo del messaggio.Confrontando il codice (cioè il numero 0.1058175) con gli estremi degli intervalli semiaperti, il decoder determina l’appartenenza del codice all’intervallo [0, 0.3), e stabilisce pertanto che il primo simbolo del messaggio decodificato è S1.A questo punto il decoder può determinare la suddivisione del primo intervallo ristretto [0, 0.3) in intervalli, e quindi confrontare il codice con gli estremi di questi ultimi.In tal modo viene determinata l’appartenenza del codice all’intervallo [0.09, 0.12), per cui risulta stabilita la presenza di S2 come secondo simbolo del messaggio.Gli stessi passi vengono reiterati, fino alla fine del processo di decodifica.

La compressione delle immagini (38/139)

Page 68: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti68

Risulta evidente la necessità di un simbolo di fine messaggio noto al decoder, affinché esso possa fermare il processo di decodifica.L’illustrazione del processo di codifica-decodifica, che si basa solo su operazioni aritmetiche, giustifica la denominazione di questa tecnica.Ovviamente, al crescere della lunghezza del messaggio diminuisce la dimensione dell’intervallo finale, ossia cresce la precisione aritmeticarichiesta nella rappresentazione dei numeri. Questo ha a lungo costituito un limite alla utilizzazione pratica della codifica aritmetica.Il problema è stato risolto alla fine degli anni 70, con la cosiddetta implementazione incrementale della codifica aritmetica, che consente l’utilizzazione di rappresentazioni numeriche di precisione finita.L’implementazione incrementale è basata sull’osservazione che con il progredire del processo di codifica, le cifre iniziali degli estremi dell’intervallo ristretto corrente non vengono più modificate, e possono quindi essere trasmesse o memorizzate prima della conclusione della codifica stessa.

La compressione delle immagini (39/139)

Page 69: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti69

Nell’esempio precedente, man mano che i simboli del messaggio vengono codificati, la restrizione degli intervalli procede nel modo indicato in tabella:

La compressione delle immagini (40/139)

Dopo la codifica di S3, le prime due cifre degli estremi (cioè 1 e 0) non cambiano più, e possono essere accantonate

Dopo la codifica di S4, un’altra cifra (cioè 5) non cambia più, e può essere accantonata.

L’uscita dell’encoder viene quindi accumulata progressivamente(ultima colonna della tabella precedente), e questo consente di trattare con precisione finita gli estremi degli intervalli di restrizione, man mano che si generano, indipendentemente dalla lunghezza del messaggio.

Page 70: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti70

Se lo stesso messaggio fosse codificato alla Huffman, si otterrebbe la seguente assegnazione delle parole del codice:

La compressione delle immagini (41/139)

La codifica della sequenza S1 S2 S3 S4 S5 S6darebbe luogo ad una stringa di 17 bit. E’ invece possibile trovare, nell’intervallo finale della codifica aritmetica [0.1058175, 0.1058250), almeno un numero, cioè 0.1058211962, il cui valore binario, cioè 0.000110111111111, ha una mantissa di 15 bit.

Nell’esempio, la codifica aritmetica si mostra pertanto più efficiente della codifica Huffman. In generale, si può dimostrare che, al crescere della lunghezza del messaggio, il codice aritmetico generato approssima l’entropia della sorgente meglio del codice Huffman.

Bisogna però considerare l’overhead portato dal simbolo di fine messaggio.

Page 71: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti71

Le tecniche di compressione dictionary-based, molto adoperate nella codifica di testi, operano rappresentando un simbolo o una stringa di simboli generati da una sorgente mediante un indice alla parola di un dizionario, costruito a partire dall’alfabeto della sorgente.E’ qualcosa di analogo alla rappresentazione del nome di un mese, per esempio settembre, con un numero, per esempio 9, ovvero allarappresentazione dei dati identificativi di una persona mediante il codice fiscale.Sia la codifica aritmetica che le tecniche alla Huffman, basandosi sulla probabilità di occorrenza dei simboli da codificare, ipotizzano una sorgente a memoria zero.Questa ipotesi non è però verificata in molte applicazioni, come per esempio nella codifica di testi, in cui la struttura delle frasi o il contesto possono giocare un ruolo importante.Infatti, in qualunque testo è molto probabile che la lettera q sia seguita dalla lettera u, e in certi contesti è probabile che una certa parola, per esempio immagine, sia seguita da altre parole, per esempio a livelli di grigio.

La compressione delle immagini (42/139)

Page 72: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti72

La strategia adottata nelle tecniche di codifica a dizionario è quella di costruire un dizionario contenente simboli o sequenze di simboli, cioèfrasi, dell’alfabeto della sorgente, di uso frequente.In fase di compressione, quando si incontra un simbolo o una frase presente nel dizionario, la si codifica utilizzando l’indice corrispondente (o una sua versione codificata), altrimenti si ricorre ad una rappresentazione meno efficiente.In maniera più formale, dato una alfabeto A, un dizionario è definito come D = (P,C), dove P è un insieme finito di frasi generate a partire da A e C è la funzione di codifica che effettua il mapping di P su un insieme di codeword .E’ chiaro che la formulazione del dizionario è il punto cruciale: se esso non è ben costruito, la procedura di codifica può dare luogo ad una espansione dei dati, invece che ad una compressione.In base al modo in cui il dizionario è costruito, le tecniche di codifica a dizionario si distinguono in statiche e adattive.

La compressione delle immagini (43/139)

Page 73: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti73

Le tecniche di codifica a dizionario necessitano in ogni caso di una analisi dell’input, in grado di rilevare la presenza di stringhe di simboli uguali a voci del dizionario.Vengono normalmente privilegiate tecniche semplici, anche se nonottime, di parsing, come il cosiddetto greedy parsing, in cui ad ogni passo di codifica l’encoder cerca la stringa di simboli di ingresso piùlunga uguale ad una voce del dizionario.Consideriamo un dizionario caratterizzato da P = {a, b, ab, ba, bb, aab, bbb}, con una funzione di codifica C espressa in forma tabellareda:

La compressione delle immagini (44/139)

Page 74: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti74

Supponiamo inoltre che l’input da codificare sia abbaab.Utilizzando una tecnica di greedy parsing, la codifica procede accodando progressivamente i codeword:

La compressione delle immagini (45/139)

Si può facilmente vedere che la soluzione offerta dalla tecnica parsing non è ottima, infatti risulta più efficiente la seguente:

che dà luogo ad una stringa di 6 bit, contro i 10 bit precedenti.

Page 75: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti75

Praticamente tutte le tecniche esistenti di codifica a dizionario adattiva si basano sui lavori di Zive Lempel, che hanno dato luogo a due classi di algoritmi, rispettivamente noti come LZ77 e LZ78.Negli algoritmi LZ77, detti anche a finestra scorrevole, il dizionario ècostituito dalla parte più recentemente codificata del testo di input, contenuta nel search buffer, mentre la porzione di testo da codificare al passo corrente è presente nel look-ahead buffer.Il testo da codificare è confrontato con gli item del dizionario: la stringa di matching più lunga presente nel dizionario è associata ad un indice o puntatore o token, costituito da una tripla di valori.I due buffer insieme costituiscono una finestra, di dimensione fissa, che scorre sull’intero testo di input, dall’inizio alla fine, durante il processo di codifica.La dimensione dei due buffer è normalmente molto diversa: il search buffer è tipicamente dell’ordine di qualche migliaio di simboli, il look-ahead buffer di qualche decina o centinaio di simboli .

La compressione delle immagini (46/139)

Page 76: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti76

Illustriamo l’approccio LZ77 con un esempio. Supponiamo che il testo di input sia quello indicato, e che ad un certo istante la posizione della finestra scorrevole sia quella mostrata:

La compressione delle immagini (47/139)

Il search buffer ha una dimensione di 9 simboli, che sono stati giàcodificati e costituiscono il dizionario, mentre il look-ahead buffercontiene 6 simboli da codificare nel passo di codifica corrente.Il primo dei simboli da codificare è b, pertanto si ricerca nel dizionario la sua prima occorrenza, a partire dalla fine del dizionario stesso, cioè dalla posizione immediatamente a sinistra dello stesso b.Il match si verifica ad una distanza (o offset) dal primo simbolo del look-ahead buffer pari a 6, e a partire da questa si individua anche la più lunga stringa di match, cioè ba.

Page 77: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti77

Non vi sono in questo caso altri match possibili, pertanto l’offset(6) e la lunghezza della stringa di match (2) vengono assegnati ai primi due item della tripla che rappresenta il puntatore.Il terzo item è il codeword assegnato al simbolo (in questo caso c) immediatamente successivo alla stringa di match nel look-aheadbuffer, qui rappresentato da C(c), essendo C la funzione di codifica.Il puntatore, dopo questo passo, assume quindi il valore <6,2,C(c)>.Il terzo item viene incluso nel puntatore per consentire al decoderdi poter svolgere il suo lavoro anche se non si fosse trovato alcun match nel search buffer.In tal caso, infatti, i due primi item del puntatore sarebbero entrambi 0, e il terzo item rimarrebbe pari al codeword del primo simbolo del look-ahead buffer (a questi valori è infatti inizializzatoil puntatore prima di iniziare la ricerca).

La compressione delle immagini (48/139)

Page 78: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti78

La finestra scorrevole è quindi spostata verso destra di un numero di posizioni pari a alla lunghezza della stringa di match più 1 (3 nell’esempio):

La compressione delle immagini (49/139)

Il primo simbolo da codificare è adesso c.Si ha immediatamente un primo match, di lunghezza 1, a distanza 1.Il secondo match, a distanza 4, è però preferibile, in quanto consente una stringa di match di lunghezza 5 (la ricerca del match può infatti continuare oltre il confine tra i due buffer).C’è un terzo match possibile, a distanza 5, ma viene scartato come il primo, in quanto anch’esso di lunghezza 1.Il puntatore relativo a questo secondo passo assume pertanto il valore < 4, 5, C(g) >.

Page 79: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti79

La finestra è quindi spostata di 6 posizioni:

La compressione delle immagini (50/139)

Non c’è alcun matching possibile in questo caso, per cui il valore assunto dal puntatore è <0, 0, C(i) >.Il processo di codifica continua allo stesso modo fino al termine dello stream di input.La fase di decodifica è molto più semplice di quella di codifica, in quanto non comporta la ricerca di situazioni di matching.Serviamoci dello stesso esempio per illustrare il processo di decodifica. Supponiamo pertanto che ad un certo istante il search buffer contenga la stringa, già decodificata, a c c b a d a c c, e che si debba decodificare la tripla < 6, 2, C(c) >.

Page 80: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti80

La situazione è dunque la seguente:

La compressione delle immagini (51/139)

Ricevuta la tripla < 6, 2, C(c) >, il decoder sposta il puntatore di decodifica, posizionato all’inizio del look-ahead buffer (^), indietro di 6 posizioni.Viene così individuato il simbolo b, e la stringa (lunga 2) che ha inizio a partire da questa posizione viene copiata nel look-ahead buffer, mentre il simbolo c, decodificato dal terzo item del puntatore di codifica, viene scritto nella posizione immediatamente successiva.La finestra viene quindi fatta scorrere di 2 + 1 posizioni verso destra:

Page 81: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti81

Il valore del puntatore di codifica, da decodificare a questo punto, è< 4, 5, C(g) >.Pertanto il puntatore di decodifica è spostato indietro di 4 posizioni, localizzando il simbolo c, e la stringa lunga 5 che inizia in questa posizione viene copiata nel look-ahead buffer.In realtà solo 4 simboli sembrano al momento disponibili (cbac), però, una volta copiato il primo di essi, la stringa può essere considerata nella sua totalità (cbacc).Infine, il simbolo g viene accodato alla stringa appena copiata, e la finestra viene spostata in avanti di 6 posizioni:

La compressione delle immagini (52/139)

Il valore del puntatore di codifica, da decodificare a questo punto, è< 0, 0, C(i) >.

Page 82: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti82

Il decoder riconosce che non c’è possibilità di match nel dizionario, e quindi si limita a copiare nel look-ahead buffer il simbolo i.La finestra è quindi spostata di 1 posizione:

La compressione delle immagini (53/139)

Il decoder è a questo punto predisposto per il prossimo passo, e cosìvia fino al termine del processo di decodifica, che come mostrato è in grado di ricostruire esattamente lo stream iniziale.All’inizio del processo di codifica, il contenuto del search buffer può essere del tutto arbitrario, per esempio una sequenza di blank.

Page 83: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti83

La dimensione (fissa) della finestra scorrevole non può essere incrementata a dismisura, in quanto ciò comporta un aumento del numero di bit richiesti per la codifica dell’offset e della lunghezza della stringa di matching, oltre che della complessità del parsing.Gli algoritmi LZ78 provvedono a risolvere gli inconvenienti legati alla dimensione fissa della finestra, eliminando la finestra stessa: tutte le stringhe di simboli codificate entrano nel dizionario (che quindi non ha una dimensione fissa), man mano che il processo di codifica procede, fino a che il dizionario non raggiunge una dimensione massima prefissata.A questo punto, se il codice è sufficientemente efficiente, il dizionario viene considerato fisso per il resto della codifica, altrimenti viene azzerato, e la sua costruzione ricomincia.L’approccio LZ78 utilizza coppie, e non triple, di valori per i puntatori di codifica: vengono utilizzati solo la posizione del simbolo di inizio della stringa di matching e il simbolo successivo ad essa, e non la lunghezza che è implicitamente nota al decoder.

La compressione delle immagini (54/139)

Page 84: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti84

Illustriamo anche l’approccio LZ78 con un esempio, riguardante la codifica dello stream di input baccbaccacbcabccbbacc riportata nella seguente tabella:

La compressione delle immagini (55/139)

Page 85: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti85

Il primo simbolo da codificare è b, per il quale all’inizio del processo di codifica non c’è alcun match possibile nel dizionario, che è vuoto.Pertanto il puntatore di codifica relativo al primo simbolo assume il valore <0, C(b)>, dove 0 indica l’assenza di match nel dizionario e C(b) è la parola di codice attribuita a b. b è a questo punto nel dizionario.Lo stesso processo si ripete per i due simboli seguenti, a e c.Il quarto simbolo, c, ha a questo punto un match nel dizionario, l’item n. 3, per cui può iniziare la ricerca della stringa di match piùlunga possibile, prendendo in considerazione dapprima il simboloseguente, b, che viene concatenato al precedente.La stringa di cui cercare il match è dunque cb, a partire dalla entryn.3 del dizionario.Nel dizionario non esiste match per la stringa cb, per cui essa viene inserita nel dizionario come una nuova entry ed è codificata con la coppia <3,1>, dove 3 è l’indice del primo simbolo di match, c, e 1 èl’indice del simbolo seguente nella stringa, b.

La compressione delle immagini (56/139)

Page 86: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti86

Agli approcci LZ77 e LZ78, essenzialmente teorici, fu data consistenza applicativa da parte di Welch negli anni ’80.L’algoritmo risultante, noto come LZW (Zive Lempel - Welch), è oggi comunemente adoperato in molte applicazioni (per esempio, in alcuni strumenti di compressione di Unix, nei formati di immagini GIF e TIFF, in alcuni standard di compressione dati per modem).La principale variante introdotta nell’algoritmo LZW è l’eliminazionedel secondo elemento della coppia utilizzata come puntatore di codifica, ottenendo così un significativo incremento dell’efficienza di codifica.In altre parole, vengono inviati al decoder solo gli indici relativi alle entry del dizionario.A tal fine, viene predisposto un dizionario iniziale, che consiste normalmente dei soli simboli dell’alfabeto utilizzato dalla sorgente.La codifica comincia prendendo in considerazione il primo simbolo del testo di input.

La compressione delle immagini (57/139)

Page 87: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti87

Questo simbolo ha ovviamente una entry nel dizionario (iniziale), per cui lo si può ritenere l’inizio di una stringa di matching, che comprende anche il simbolo del testo immediatamente successivo. I due simboli vengono rispettivamente detti simbolo matched e simbolo cascaded.La stringa così ottenuta non ha match nel dizionario, al quale viene aggiunta, e viene codificata utilizzando l’indice del simbolo matched.Per illustrare l’algoritmo LZW, supponiamo di dover codificare il testo accbadaccbaccbacc.L’alfabeto di sorgente è dunque S = {a, b, c,d}.L’esempio è illustrato nella tabella seguente, che mostra anche il dizionario iniziale.

La compressione delle immagini (58/139)

Page 88: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti88

La compressione delle immagini (59/139)

Page 89: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti89

Quando il primo simbolo, a, si presenta in input, l’encoder trova un match alla entry n. 1 del dizionario, e cerca quindi di costruire una stringa di match più lunga, utilizzando il simbolo di input immediatamente successivo, c.La stringa ac non ha match, per cui viene aggiunta al dizionario (entry n. 5), mentre l’indice del simbolo matched, a, viene codificato.Il secondo simbolo, c, è presente nel dizionario, quindi viene costruita una possibile stringa di match, utilizzando il simbolo successivo, c.La stinga cc non ha match, per cui viene aggiunta al dizionario (entry n. 6),mentre l’indice del simbolo matched, c, viene codificato.Il processo di codifica continua nello stesso modo. Per esempio,la entry n. 11 del dizionario è costruita partendo da un simbolo di input che è a. Esso ha un entry nel dizionario, per cui si considera ac come una possibile stringa di match.

La compressione delle immagini (60/139)

Page 90: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti90

Come per l’algoritmo LZ78, al progredire della codifica gli item del dizionario diventano più lunghi, migliorando l’efficienza della codifica.In fase di decodifica, è disponibile il dizionario iniziale.All’arrivo del primo indice, 1, il decoder decodifica il simbolo corrispondente, a.All’arrivo del secondo indice, 3, il decoder decodifica il simbolo corrispondente, c. Inoltre, conoscendo la regola usata dall’encoder, il decoder sa anche che i due simboli devono essere concatenati in una stringa, ac, che va aggiunta al dizionario, come entry n. 5.In generale, ad ogni passo di decodifica il decoder deve partire dall’ultima delle due stringhe di simboli utilizzate al passo precedente, ai fini della costruzione della stringa, detta stringa presente, da aggiungere al dizionario, mentre l’indice appena ricevuto, detto indice presente, è utilizzato per individuare nel dizionario la stringa di simboli da aggiungere al testo decodificato. E’ il primo di questa stringa di simboli che viene utilizzato per completare la stringa presente.

La compressione delle immagini (61/139)

Page 91: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti91

Una tecnica di codifica (senza perdita) in grado di ridurre la ridondanza interpixel presente in una immagine a livelli (di grigio o di colore) consiste nella rappresentazione dell’immagine mediante un set di immagini binarie e nella codifica individuale di queste ultime, con metodi di compressione appropriati per le immagini a due livelli (compressione binaria): codifica bit-plane.La rappresentazione di una immagine a livelli mediante più immagini binarie può essere considerata una derivazione diretta della rappresentazione per piani di bit che abbiamo già analizzato, e che viene adesso brevemente richiamata.Una immagine a 8 bit/pixel si può considerare costituita da 8 piani di 1 bit, dal piano 0 (che contiene il bit meno significativo di ogni pixel) al piano 7 (che contiene il bit più significativo di ogni pixel).Per esempio, in un’immagine i cui primi pixel abbiano rispettivamente i valori 192, 65, 63, 64, .... si ha:

La compressione delle immagini (62/139)

Page 92: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti92

Più formalmente, la scomposizione è una conseguenza del fatto che, per una immagine a livelli di grigio a mbit/pixel, la rappresentazione polinomiale dei livelli di grigio è:

La compressione delle immagini (63/139)

Page 93: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti93

Non vi sono in questo caso altri match possibili, pertanto l’offset(6) e la lunghezza della stringa di match (2) vengono assegnati ai primi due item della tripla che rappresenta il puntatore.Il terzo item è il codeword assegnato al simbolo (in questo caso c) immediatamente successivo alla stringa di match nel look-aheadbuffer, qui rappresentato da C(c), essendo C la funzione di codifica.Il puntatore, dopo questo passo, assume quindi il valore <6,2,C(c)>.Il terzo item viene incluso nel puntatore per consentire al decoderdi poter svolgere il suo lavoro anche se non si fosse trovato alcun match nel search buffer.In tal caso, infatti, i due primi item del puntatore sarebbero entrambi 0, e il terzo item rimarrebbe pari al codeword del primo simbolo del look-ahead buffer (a questi valori è infatti inizializzatoil puntatore prima di iniziare la ricerca).

La compressione delle immagini (64/139)

Page 94: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti94

La compressione delle immagini (65/139)

Page 95: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti95

Uno dei metodi più noti di compressione di immagini binarie si basa sulla rappresentazione di ogni riga dell’immagine mediante la sequenza delle lunghezze delle successioni (o run) di pixel consecutivi bianchi o neri.Il metodo, detto della codifica run-length (RLC o RLE), si basa sulla osservazione che una immagine binaria contiene regioni di intensitàcostante, per cui una rappresentazione più efficiente può essere costruita effettuando un mapping dei pixel presenti lungo ogni riga in una sequenza di coppie del tipo (g1, r1), (g2, r2), ….Qui gi è l’i-mo livello di grigio incontrato lungo la riga dell’immagine, e ri è la lunghezza dell’i-mo run.La rappresentazione mediante lunghezze di run è ovviamente non visuale.Si tratta di una rappresentazione molto efficiente, soprattutto nella codifica di documenti finalizzata alla trasmissione via fax, che in genere avviene mediante immagini a risoluzione abbastanza elevata.La RLC che sfrutta solo la correlazione tra pixel lungo la stessa riga èdetta RLC 1-D, mentre la RLC 2-D sfrutta anche la correlazione verticale.

La compressione delle immagini (66/139)

Page 96: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti96

In linea di principio, ogni gruppo di 0 o di 1 incontrati in unascansione da sinistra a destra viene codificato mediante una coppia di interi, del tipo (gi, ri).Per esempio, una riga con il profilo di grigio indicato diventa una sequenza di coppie valore-lunghezza di run: (1, 85), (0, 63), (1, 27), (0, 213), (1, 92), (0, 32).

La compressione delle immagini (67/139)

Quale è il valore di compressione?In pratica, dato che i valori dei pixel possono essere 1 oppure 0, basta codificare le lunghezze di run e stabilire una convenzione per determinarne il valore.

Page 97: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti97

Gli approcci più comuni per la determinazione del valore di un runsono:

la specifica del valore del primo run di ogni riga;l’assunzione di un run bianco iniziale, di lunghezza eventualmente nulla.

Alla conclusione di ogni riga, un codeword speciale, noto al decoder, segnala la situazione di fine linea(EOL, End -Of -Line).Oltre alla compressione diretta, si può ottenere una ulteriore riduzione dei dati effettuando una codifica a lunghezza variabile delle lunghezze di run.A tale scopo, le possibili lunghezze di run possono essere utilizzate per costruire un alfabeto di sorgente, di questi simboli si possono calcolare le probabilità, etc.In effetti, misure effettuate su tipici documenti binari mostrano che il massimo dell’efficienza di compressione si raggiunge quando runbianchi e run neri sono codificati separatamente.

La compressione delle immagini (68/139)

Page 98: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti98

Se aj è un simbolo che indica un run nero di lunghezza j, con j= 1, …, J , essendo J la massima lunghezza dei run neri, si può stimare la probabilità di emissione di aj da parte di una immaginaria sorgente di run neri, PB(aj), dividendo il numero di run neri di lunghezza jpresenti nell’immagine per il numero totale di run neri.Si può quindi stimare l’entropia di questa sorgente di run neri:

La compressione delle immagini (69/139)

Inoltre la lunghezza media dei run neri è data da:

Le stesse grandezze per i run bianchi, HW e LW, possono essere definite e calcolate in modo analogo.

Page 99: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti99

Una misura (approssimata) dell’entropia delle lunghezze di run di entrambi i tipi è data da:

La compressione delle immagini (70/139)

Questo può dare un’idea del migliore bit rate ottenibile per la codifica delle lunghezze di run di una immagine binaria, utilizzando codici a lunghezza variabile.Nella versione dell’algoritmo RLC 1-D adottato in alcuni importanti standard di codifica per la trasmissione via fax.

Page 100: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti100

Per aumentare l’efficienza, la codifica RLC 2-D sfrutta la correlazione tra i pixel posti su righe consecutive dell’immagine, che deriva dalla elevata probabilità della continuità verticale di regioni bianche o nere.Esistono diverse tecniche per l’estensione al caso 2-D dei concetti che stanno alla base della codifica run-length, in particolare ne vedremo una, della tipologia delle codifiche ad indirizzo relativo(RAC), nella versione adottata per la codifica fax, denominata MR(Modified READ, dove READ sta per Relative Element AddressDesignate).La tecnica opera su due linee consecutive di scansione, la linea di riferimento (reference line), che si suppone già codificata, e la linea da codificare (coding line).

La compressione delle immagini (71/139)

Page 101: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti101

Un gruppo di cinque pixel, detti di variazione, devono essere identificati nelle due linee, ad ogni passo di codifica.Le loro posizioni relativedefiniscono infatti quale di tre possibili modi (pass, verticale, orizzontale) deve essere usato per la codifica.Un pixel di variazione è definito come il primo pixel di un run(nero o bianco) incontrato durante la scansione di una riga da sinistra a destra .

La compressione delle immagini (72/139)

Page 102: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti102

La definizione dei 5 pixel di variazione è la seguente:a0: è il pixel di riferimento per la codifica, che si muove dall’alto al basso e da sinistra a destra man mano che la codifica procede. La sua posizione è determinata dal modo di codifica precedente, come si vedràtra breve. All’inizio di una linea di codifica, è invece un pixel bianco (immaginario) posto a sinistra del primo pixel reale della linea di codifica;a1: è il successivo pixel di variazione nella linea di codifica. E’sicuramente a destra di a0, ed è di colore necessariamente opposto;a2: è il pixel di variazione successivo ad a1 nella linea di codifica. E’ a destra di a1, ed è dello stesso colore di a0;b1: è il pixel di variazione (di valore opposto ad a0) nella linea di riferimento immediatamente a destra di a0. Ha lo stesso colore di a1;b2: è il pixel di variazione successivo a b1nella linea di riferimento

Se qualcuno dei 5 elementi di variazione non può essere determinato, viene posto nella posizione di un immaginario pixel a destra dell’ultimo pixel della linea considerata.

La compressione delle immagini (73/139)

Page 103: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti103

I tre modi di codifica possibili sono:

Pass: Se b2 è a sinistra di a1, significa che il run nella linea di riferimento che comincia con b1 non è adiacente al run nella linea di codifica che comincia con a1 (i due run sono dello stesso colore). Questo è il modo di codifica di pass: viene generato dall’encoder il codeword speciale 0001. In tal modo il decoder viene a sapere che il run che inizia con a0 non termina nel pixel sotto b2. Esattamente in questo pixel sotto b2 viene posizionato a0per il prossimo passo.

La compressione delle immagini (74/139)

Page 104: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti104

Verticale: Se la distanza relativa lungo la direzione orizzontale tra a1e b1 è non maggiore di 3 pixel, il modo di codifica è quello verticale: la posizione di a1 è codificata in relazione alla posizione di b1. A ciascuno dei sette casi possibili viene assegnato un codeword, e infine a0 per il prossimo passo è posizionato in a1.

Orizzontale: Se la distanza relativa lungo la direzione orizzontale tra a1 e b1 è maggiore di 3 pixel, il modo di codifica è quello orizzontale. Viene usata una tecnica RLC 1-D, e prevede in realtà la seguente combinazione: un prefisso 001, un codice MH per la lunghezza del run tra a0 e a1, un codice MH per il run tra a1 e a2.

La compressione delle immagini (75/139)

Page 105: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti105

L’intera procedura di codifica, riferita ad una singola linea di scansione, può essere infine così schematizzata:

La compressione delle immagini (76/139)

Page 106: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti106

Altro metodo è la codifica predittiva senza perdita che sfrutta la ridondanza interpixel, operando direttamente sulla immagine a livelli di grigio, senza una scomposizione in piani di bit.La riduzione della ridondanza interpixel tra pixel vicini è effettuata estraendo e codificando solo la nuova informazione che ogni pixel aggiunge a quella complessiva dell’immagine.La nuova informazione di ogni pixel è definita come la differenza tra il valore reale e quello predetto (o previsto) del pixel.Il modello del sistema di codifica è il seguente:

La compressione delle immagini (77/139)

Page 107: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti107

Il modello del sistema di decodifica è il seguente:

La compressione delle immagini (78/139)

L’encoder ed il decoder contengono un identico predittore.Per ogni nuovo pixel, qui indicato con fn, dell’immagine di input, il predittore genera il valore previsto, basandosi su un certo numero di pixel precedenti.L’uscita del predittore, arrotondata all’intero più vicino, viene utilizzata per costruire l’errore di predizione:

Page 108: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti108

L’errore di predizione viene poi codificato dal codificatore di simbolo, utilizzando un codice VLC.Il decodificatore, una volta ricostruito l’errore di predizione (decodifica di simbolo), compie l’operazione inversa, ricostruendo l’immagine:

La compressione delle immagini (79/139)

Il meccanismo fondamentale è naturalmente la predizione. Diversi metodi sono illustrati in letteratura, tra questi uno dei più utilizzati basa la predizione su una combinazione lineare degli m pixel precedenti quello corrente:

m è l’ordine del predittore lineare, round indica l’arrotondamento all’intero più vicino, e i coefficienti αi, per i= 1, …, m, sono i coefficienti di predizione.

Page 109: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti109

In questa formulazione, del tutto generale, fn identifica il generico pixel di una sequenza, spaziale o temporale, di pixel, per cui lo schema illustrato può fare riferimento sia ad una codifica interframe che ad una codifica intraframe.L’equazione più generale può naturalmente essere formulata in modo da esplicitare in modo appropriato le relazioni spaziali 2-D, se la predizione riguarda anche i pixel che precedono quello corrente sulla stessa colonna (predizione 2-D o planare), o la relazione temporale con i pixel che lo precedono in frame precedenti (predizione 3-D).L’equazione del predittore lineare 1-D non può essere valutata per i primi m pixel della riga, che quindi vanno codificati con altra tecnica o non codificati, costituendo così un overhead per il processo di codifica. Analogo ragionamento si può fare per la predizione di dimensionesuperiore.Nell’esempio illustrato di seguito, una immagine a livelli di grigio viene sottoposta a codifica differenziale (con α= 1), e l’errore di predizione viene mostrato in forma di immagine di intensità. Per i noti motivi legati alla visualizzazione, l’errore nullo è rappresentato in grigio intermedio (128), mentre grigi più chiari rappresentano errori positivi, e grigi piùscuri rappresentano errori negativi.

La compressione delle immagini (80/139)

Page 110: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti110

La compressione delle immagini (81/139)

Il valore medio della immagine dell’errore è128.02, quindi in media l’errore di predizione è solo di 0.02 bit.

Dai due istogrammi si evidenzia come la varianzadell’errore sia molto piùcontenuta della varianza dei grigi nell’immagine di partenza, e che anche la stima dell’entropia ènotevolmente inferiore, 3.96 contro 6.81 bit/pixel.

Page 111: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti111

La diminuzione dell’entropia riflette l’avvenuta riduzione della ridondanza interpixel da parte della codifica predittiva.In realtà, finora c’è stata soltanto una operazione di mapping, dai pixel ai valori dell’errore. Ad essa deve seguire una codifica di simbolo. A tal fine può essere in linea di principio usata una qualunque delle tecniche viste in precedenza.E’ tuttavia da notare che il risultato della compressionepuò essere previsto: se l’immagine è inizialmente codificata con 8 bit/pixel, ed il limite teorico della codifica di simbolo è dato dall’entropia, cioè è 3.96, il massimo rapporto di compressione possibile è 8/3.96, quindi poco più di 2.

La compressione delle immagini (82/139)

Page 112: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti112

Esiste anche il metodo della codifica predittiva con perdita. Fa ovviamente parte della categoria delle tecniche di codifica con perdite, le sole che riescono a dare rapporti di compressione veramente significativi (tipicamente dell’ordine di 20:1 o superiori, per immagini a livelli di grigio, e di 40:1 o superiori, per immagini a colori,senza apprezzabile degrado visuale dell’immagine ricostruita rispetto all’originale).La maggiore efficienza di compressione deve essere valutata in relazione all’entità della distorsione introdotta, per esempio ricorrendo ad uno dei criteri di fedeltà visti a suo tempo.In particolare, il sistema di codifica-decodifica predittiva con perditaprevede l’uso di un quantizzatore, che viene inserito nel modello precedentemente esaminato.Il quantizzatore, che assorbe la funzione dell’arrotondamento all’intero più vicino, va inserito nel decoder e nell’encoder in modo da garantire che le rispettive previsioni siano equivalenti.

La compressione delle immagini (83/139)

Page 113: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti113

In particolare, il quantizzatore è inserito dopo la formazione dell’errore di predizione, e prima del codificatore di simbolo. Esso effettua una trasformazione (irreversibile) dell’errore di predizione in un numero limitato di valori quantizzati. E’ questo che consente la compressione.

La compressione delle immagini (84/139)

L’ingresso al predittore è generato come una funzione delle predizioni precedenti e dei corrispondenti errori quantizzati:

dove ha il significato già visto.

Page 114: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti114

Il decodificatore è lo stesso visto in precedenza, ma questa volta genera una approssimazione dell’immagine originaria:

La compressione delle immagini (85/139)

Un esempio ben noto di codifica predittiva con perdita è la modulazione delta (DM), in cui il predittore e il quantizzatore sono così definiti:

Page 115: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti115

Il progetto del predittore ottimo viene condotto come un processo di minimizzazione dell’errore di predizione dell’encoder:

La compressione delle immagini (86/139)

soggetto al vincolo di errore di quantizzazione trascurabile, e di predizione lineare:

La codifica predittiva che ne risulta è anche detta modulazione impulsiva differenziale (DPCM).

Si tratta quindi di minimizzare l’espressione seguente, mediante una opportuna scelta dei coefficienti di predizione:

Page 116: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti116

Le tecniche di compressione finora esaminate operano nel dominio spaziale.E’ possibile invece utilizzare tecniche di compressione basate sulla modifica della trasformata di una immagine: in questo caso, una trasformata lineare e reversibile viene usata per il mappingdell’immagine in un set di coefficienti di trasformata, che vengono quindi quantizzati e codificati.La compressione è resa possibile dal fatto che per la maggior parte delle immagini naturali un numero significativo di tali coefficienti hanno ampiezze poco importanti. Possono quindi essere quantizzati in maniera grossolana o addirittura del tutto ignorati senza indurre distorsioni significative nell’immagine ricostruita.Lo schema tipico di un sistema di codifica di trasformate è il seguente:

La compressione delle immagini (87/139)

Page 117: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti117

L’immagine di input, qui supposta di dimensioni N x N, è dapprima scomposta in subimmagini di dimensioni n x n, che sono trasformate per generare le (N/n)2 trasformate di uguali dimensioni.La trasformazione produce la decorrelazione dei pixel delle subimmagini, di fatto compattando l’informazione in modo da rappresentarla con il minimo numero di coefficienti.La quantizzazione elimina o rappresenta con minore precisione i coefficienti che portano la minore quantità di informazione, e quindi hanno l’importanza minore per la qualità dell’immagine ricostruita.L’ultima fase del processo di compressione è la codifica(normalmente a lunghezza di parola variabile) dei coefficienti quantizzati.In termini generali, ognuno dei passi precedenti può essere realizzato in modo indipendente dalle caratteristiche locali dell’immagine (codifica di trasformate non adattiva) ovvero adattati alle caratteristiche locali dell’immagine (codifica adattiva).

La compressione delle immagini (88/139)

Page 118: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti118

Lo schema tipico del decodificatore è il seguente:

La compressione delle immagini (89/139)

E’ realizzata la sequenza inversa dei passi eseguiti dall’encoder, con l’ovvia eccezione della quantizzazione.In linea di principio, ciascuna delle trasformate lineari e reversibili (per esempio KLT discreta, DFT, WHT, DCT) può essere adoperata in uno schema come quello sopra descritto.La scelta della trasformata da adoperare può allora dipendere sia dalla capacità di decorrelazione della trasformata, sia dalla semplicità di realizzazione, sia dalla minore propensione alla visualizzazione di difetti nelle immagini ricostruite.

Page 119: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti119

La DFT è una trasformata appartenente ad una classe di importanti trasformazioni lineari, dette trasformate unitarie, caratterizzate dalla invertibilità della operazione e dalle condizioni di ortogonalitàsoddisfatte dal kernel.Nel caso 1-D, l’equazione di queste trasformazioni si può scrivere come:

La compressione delle immagini (90/139)

in cui g(x,u) è il kernel della trasformazione direttaAnalogamente, la trasformazione inversa si può esprimere come:

h(x,u) è il kernel della trasformazione inversaLe proprietà dei kernel della trasformazione determinano la natura della trasformata.

Page 120: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti120

Nel caso 2-D, prendendo in considerazione matrici quadrate:

La compressione delle immagini (91/139)

I kernel g e h dipendono solo dagli indici x, y, u e v e non dai valori di f(x,y) o di T(u,v).Pertanto g e h possono essere interpretate come insiemi di funzioni di base dello sviluppo in serie di T ed f.

Page 121: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti121

La trasformazione diretta può essere vista come un processo di analisi: il segnale f(x) viene scomposto nelle sue componenti elementari, che sono nella forma dei vettori di base.I coefficienti della trasformata specificano quanto di ogni componente di base è presente nel segnale.Nella trasformazione inversa, mediante un processo di sintesi, il segnale viene ricostruito, come somma pesata delle componenti di base: il peso di ogni vettore di base nella ricostruzione del segnale è rappresentato dal corrispondente coefficiente della trasformata.Il coefficiente della trasformata è una misura della correlazione tra il segnale ed il corrispondente vettore di base.La trasformazione non comporta perdita di informazione: essa fornisce solo una rappresentazione alternativa del segnale originale.

La compressione delle immagini (92/139)

Page 122: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti122

Nel caso 1-D, con N = 2n, la trasformata discreta di Walsh (DWT) di f(x) (x = 0, … , N-1) è definita come (u = 0, … , N-1):

La compressione delle immagini (93/139)

Il kernel diretto di Walsh è quindi:

dove bk(z) è il k-mo bit nella rappresentazione binaria di z.

Page 123: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti123

Da questo segue che il kernel inverso è identico al kernel diretto, eccetto che per la costante 1/N:

La compressione delle immagini (94/139)

Quindi la trasformata inversa di Walsh è (x = 0,…, N - 1):

Dato che la trasformata diretta e la trasformata inversa differiscono solo per il fattore costante 1/N, ogni algoritmo per il calcolo della DWT può essere usato anche per il calcolo della trasformata inversa, semplicemente ricordando che il risultato deve essere moltiplicato per N.

Page 124: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti124

Nel caso 2-D, la DWT e la sua inversa sono espresse come:

La compressione delle immagini (95/139)

Dato che i kernel di Walsh sono separabili e simmetrici, come è facile vedere, le trasformate 2-D possono essere calcolate mediante successive applicazioni della trasformazione 1-D, analogamente a quanto visto per la DFT.

Page 125: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti125

Nel caso 1-D, con N = 2n, la trasformata discreta di Hadamard (DHT) di f(x) (x = 0, … , N-1) è definita come (u = 0, … , N-1):

La compressione delle immagini (96/139)

Il kernel diretto di Hadamard è quindi:

Page 126: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti126

Anche il kernel di Hadamard, come quello di Walsh, forma una matrice con righe e colonne ortogonali, per cui il kernel inverso èuguale a quello diretto, eccetto che per il termine 1/N:

La compressione delle immagini (97/139)

La trasformata inversa di Hadamard è pertanto (x = 0, …, N-1):

La DHT e la sua inversa sono quindi espresse come:

Page 127: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti127

Nel caso 1-D, la trasformata coseno discreta (DCT) di f(x), per x = 0,…, N-1, è definita come:

La compressione delle immagini (98/139)

La DCT inversa è definita come:

In entrambe le espressioni:

Page 128: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti128

Nel caso 2-D:

La compressione delle immagini (99/139)

Anche la DCT ha il kernel inverso uguale a quello diretto.L’importanza odierna della DCT sta nel suo impiego nei principali algoritmi e standard di compressione di immagini e video.

Page 129: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti129

Un esempio di DCT visualizzata come immagine di intensità:

La compressione delle immagini (100/139)

Page 130: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti130

Altra trasformata è quella di Hotelling o trasformata di Karhunen-Loeve discreta (KLT), detta anche analisi delle componenti principali(PCA) o degli autovettori, e si basa su proprietà statistiche delle rappresentazioni vettoriali. La sua importanza per l’image processingsta nel fatto che essa è la trasformazione ottima dal punto di vista della decorrelazione dei dati.Dato un vettore xs a n componenti, l’insieme {xs | s є I}, dove I èl’insieme dei valori possibili come indici dei vettori, può essererappresentato da una popolazione di vettori random della forma:

La compressione delle immagini (101/139)

Ciascuna delle componenti xi èuna variabile random.

Page 131: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti131

Si consideri la matrice A, anch’essa di ordine n x n, avente come righe gli autovettori ei della matrice di covarianza degli xi, presi nell'ordine decrescente dei corrispondenti autovalori li:

La compressione delle immagini (102/139)

Utilizzando A come una matrice di mapping, la trasformata di Hotelling è definita dalla equazione:

La popolazione costituita dai vettori ottenuti da questa trasformazione gode delle seguenti proprietà:

1 Il vettore medio è nullo: my = 0;2 La matrice di covarianza è: Cy = ACxAT;3 Cy è una matrice diagonale i cui elementi non nulli sono gli autovalori di Cx.

Page 132: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti132

La trasformata inversa di Hotelling è definita come:

La compressione delle immagini (103/139)

Poichè A-1= AT (infatti le righe di A sono vettori ortonormali), la ricostruzione di ogni vettore x a partire dal corrispondente y èsempre possibile:

Una misura della distorsione introdotta ricostruendo x in maniera approssimativa è l'errore quadratico medio tra x e x ricostruito. Si può dimostrare che questo errore di ricostruzione vale:

avendo indicato con σj la varianza della componente j-ma di y.

Page 133: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti133

L’errore è nullo (ricostruzione esatta) se K = n, cioè se tutti gli autovettori sono usati nella trasformazione.L’errore è comunque minimizzato scegliendo di fare intervenire nella trasformazione i K autovettori corrispondenti ai K autovalori piùgrandi.Se quindi il numero K si sceglie in modo che le varianze delle prime K componenti dei vettori costituiscano una percentuale molto rilevante delle varianze complessive, l’errore di ricostruzione può risultare molto contenuto.La trasformazione di un set di dati statisticamente dipendenti in un altro set di dati incorrelati, con la possibilità di scaricare i coefficienti poco significativi, che costituisce la cosiddetta interpretazione statistica della trasformata di Hotelling, è in realtà il fondamento teorico delle tecniche di compressione basate su trasformate.Da questo punto di vista la trasformata KLT discreta risulta ottima in quanto minimizza l’errore di ricostruzione.

La compressione delle immagini (104/139)

Page 134: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti134

Interpretazione geometrica.Consideriamo l’immagine binaria mostrata sotto come una popolazione 2-D, ovvero ogni pixel dell’oggetto è trattato come un vettore 2-D x = (a,b)T, essendo a e b le coordinate del pixel rispetto agli assi x1 e x2:

La compressione delle immagini (105/139)

Questi vettori sono utilizzati per calcolare il vettore medio e la matrice di covarianza dei vettori di coordinate.Applicando quindi la KLT discreta, l’oggetto risulta riferito ad un nuovo sistema di assi, y1 e y2, che risultano allineati con gli autovettori e1 e e2, e la cui origine coincide con il centroidedell’oggetto binario.

Page 135: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti135

Quindi la trasformata di Hotelling può essere vista come una trasformazione geometrica che allinea i dati rispetto agli autovettori (assi principali): nel nuovo sistema di riferimento le coordinate risultano incorrelate, e le loro varianze sono uguali agli autovalori.Nell’esempio, la varianza nella direzione y1 è maggiore della varianza nella direzione y2: se la differenza risultasse molto grande, sarebbe possibile ignorare la componente nella direzione della varianza inferiore, senza sacrificare troppo la qualità dell’immagine x, una volta ricostruita.L’interpretazione geometrica della KLT discreta come analisi dei dati riferiti alle componenti principali trova largo impiego nel pattern recognition e nell’analisi di immagini.

La compressione delle immagini (106/139)

Page 136: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti136

Ricordiamo che una immagine f(x,y) di dimensioni n x n può essere espressa come:

La compressione delle immagini (107/139)

Definiamo una funzione di mascheramento dei coefficienti della trasformata:

Una approssimazione della F può essere ottenuta eliminando alcuni termini della combinazione lineare, in accordo al criterio previsto da m(u,v):

Page 137: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti137

Si dimostra che l’errore quadratico medio compiuto approssimando la F nel modo precedentemente indicato è dato da:

La compressione delle immagini (108/139)

L’errore di ricostruzione è quindi la somma delle varianze dei coefficienti trascurati (per i quali m(u,v) = 0).Ne consegue che le trasformate che danno luogo ad un errore di ricostruzione inferiore sono quelle che riescono a concentrare il massimo dell’informazione nel minimo numero di coefficienti, esibendo quindi coefficienti di piccola varianza, ai quali è associata poca informazione, oltre certi valori di u e v.

Page 138: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti138

Si noti che l’errore di ricostruzione è lo stesso in tutte le subimmagini, ed è anche lo stesso per l’intera immagine, trattandosi di un valor medioCome è già noto, la trasformata ottima per la decorrelazione dei dati è la KLT discreta: essa minimizza l’errore per ogni immagine e per qualunque numero di coefficienti non trascurati.Tuttavia, le funzioni di base della KLT dipendono dalla immagine di input, per cui andrebbero calcolate di volta in volta, rendendo computazionalmente inefficiente il processo di codifica.Tra le altre trasformate, tutte a kernel fisso, quella che meglio approssima il comportamento ottimo, dal punto di vista della capacitàdi compattare l’informazione, è la DCT, che si lascia preferire per questo motivo anche ad altre trasformate di implementazione piùsemplice, come la WHT.Di fatto la DCT è stata adottata negli algoritmi di codifica con perdita di informazione compresi negli standard di compressione oggi piùadoperati.

La compressione delle immagini (109/139)

Page 139: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti139

La compressione delle immagini (110/139)

Nell’esempio sono mostrate le approssimazioni di una immagine campione, dopo una codifica (dall’alto in basso) con DFT, WHT e DCT, e troncamento del 50% dei coefficienti (n = 8) in base all’ampiezza.Anche se l’errore è visualmentemolto ridotto, come mostrano le immagini dell’errore di ricostruzione, quest’ultimo vale rispettivamente 1.28, 0.86 e 0.68 livelli di grigio.

Page 140: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti140

L’errore di ricostruzione dipende, come si è visto, dal numero e dall’importanza relativa dei coefficienti della trasformata che vengono trascurati, ma anche dalla precisione con la quale vengono rappresentati i coefficienti superstiti, ossia dal modo in cui essi vengono quantizzati.Le strategie di selezione dei coefficienti da eliminare e di quantizzazione dei superstiti rientrano nella cosiddetta bit allocation.La costruzione della m(u,v) può essere fatta o sulla base della massima varianza (codifica o campionamento zonale) o sulla base della massima ampiezza (codifica o campionamento a soglia).La codifica zonale trattiene i coefficienti di massima varianza, in quanto sono essi che convogliano la maggior parte dell’informazione associata all’immagine.Le varianze dei coefficienti sono stimate considerando ogni coefficiente DCT come una variabile random la cui distribuzione può essere calcolata prendendo in considerazione tutte le subimmaginitrasformate.

La compressione delle immagini (111/139)

Page 141: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti141

La maschera zonale, una volta determinata, è comunque fissa per tutte le subimmagini, il metodo è quindi non adattivo e di conseguenza può risultare poco efficiente.Nella codifica a soglia, invece, non viene creata una zona predefinita: ogni coefficiente viene trattenuto (oppure scaricato) se il suo valore risulta superiore (oppure inferiore)ad un valore di soglia.La posizione dei coefficienti trattenuti, pertanto, può variare da una subimmagine all’altra, e la codifica risulta implicitamente adattiva rispetto alle caratteristiche locali dell’immagine, oltre che più semplice dal punto di vista implementativo.I coefficienti trattenuti vengono quindi quantizzati e codificati a lunghezza variabile.Un overhead del processo di codifica deriva però dalla necessità di trasmettere al decoder anche l’informazione sulla posizione dei coefficienti trattenuti.

La compressione delle immagini (112/139)

Page 142: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti142

Il comitato congiunto ISO - CCITT (oggi ITU), noto con il nome di Joint Photographic Experts Group (JPEG) – www.jpeg.org - ha definito nel 1992 questo standard di compressione delle immaginifisse, a colori o a livelli di grigio, purchè a tono continuo (quindi non bi-livello né con pochi colori o livelli: in questi casi la compressione èpoco efficiente).Lo standard JPEG non prevede nessun particolare formato di file, néuna specifica risoluzione spaziale né un determinato spazio di colore.Lo standard è relativo a metodi di compressione sia con perdita sia senza perdita di informazione.Gli algoritmi di compressione con perdita, di gran lunga i piùimportanti, sono basati su uno schema di codifica della trasformata DCT.Inoltre, per venire incontro alle esigenze delle applicazioni in cui non possono essere tollerate perdite di informazioni (per esempio, immagini mediche), è stato definito uno schema di codifica senza perdita, basato essenzialmente su un algoritmo predittivo.

La compressione delle immagini (113/139)

Page 143: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti143

In definitiva, JPEG definisce quattro differenti modi di compressione: sequenziale basato su DCT, progressivo basato su DCT, lossless e gerarchico.Nel modo sequenziale basato su DCT, l’immagine è codificata in una sola scansione sequenziale (raster) da sinistra a destra e dall’alto in basso, con una suddivisione in blocchi di 8 x 8 pixel e la codifica DCT di ciascun blocco, con quantizzazione, riordinamento a zigzag e codifica entropicadei coefficienti.Nel modo progressivo basato su DCT, l’immagine è codificata come in piùscansioni, alla medesima risoluzione spaziale, incrementando ad ogni scansione il grado di precisione con cui sono rappresentati i coefficenti: in realtà, la suddivisione in blocchi, l’applicazione della DCT e la successiva quantizzazione avvengono in modo analogo al precedente. I coefficienti quantizzati vengono memorizzati in un buffer prima della codifica entropica.Il buffer viene quindi analizzato con un processo di scansione multipla, che ne consente la codifica in passi successivi. Ad ogni passo, ciascun coefficiente è codificato in modo parziale: un numero predefinito di bit più significativi durante il primo passo, gli altri bit nei passi successivi.

La compressione delle immagini (114/139)

Page 144: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti144

La differenza tra i due modi di codifica è mostrata nella figura:

La compressione delle immagini (115/139)

L’obiettivo della codifica progressiva è quello di favorire la visualizzazione dell’immagine, trasmessa attraverso un canale di trasmissione lento rispetto all’algoritmo di decodifica, con un livello di precisione crescente.

Page 145: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti145

Nel modo lossless, la codifica è realizzata mediante uno schema predittivo senza perdita, con predittori del 3° ordine. L’errore di predizione, ovviamente non quantizzato, è codificato a lunghezza variabile.Si raggiungono con il metodo lossless rapporti di compressione molto bassi (qualche unità), inferiori a quelli ottenibili con altri metodi di codifica senza perdita sviluppati negli stessi anni, per cui la diffusione di questa parte dello standard è abbastanza limitata.Nel modo gerarchico, l’immagine è compressa a più livelli di risoluzione spaziale, in modo che l’immagine decompressa alla risoluzione minore sia utilizzabile senza dovere decomprimere le versioni a risoluzione maggiore.A tal fine l’immagine iniziale è ripetutamente sotto-campionata con una strategia di decimazione 2:1 sia in orizzontale che in verticale (sottocampionamento piramidale a più livelli), in modo da produrre più versioni o frame a risoluzioni differenti.

La compressione delle immagini (116/139)

Page 146: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti146

Ad ogni frame è applicato un processo di codifica predittiva: ad essere codificata è cioè la differenza tra il frame corrente e quello ottenuto dalla ricostruzione del frame posto al livello gerarchico immediatamente inferiore, opportunamente interpolato.

La compressione delle immagini (117/139)

L’errore di predizione così ottenuto può essere codificato in una qualunque delle modalitàpreviste dallo standard.L’effetto della visualizzazione successiva dei diversi frame decompressi è analogo a quello della visualizzazione dell’immagine codificata in modo progressivo.La codifica gerarchica è tuttavia, più in generale, utilizzabile anche in molte applicazioni che richiedono un approccio Multirisoluzione.

Page 147: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti147

La compressione delle immagini (118/139)

Page 148: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti148

La compressione delle immagini (119/139)

Page 149: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti149

La codifica dei coefficienti quantizzati, viene fatta leggendo la matrice 8 x 8 in diagonale, nel seguente modo:

La compressione delle immagini (120/139)

Nelle immagini a colori si è dimostrato che la codifica del colore più efficiente è quella YCbCr con rapporti tra luminanza e crominanza di 4:1:1.

Page 150: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti150

La compressione delle immagini (121/139)

Page 151: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti151

La compressione delle immagini (122/139)

Page 152: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti152

La compressione delle immagini (123/139)

Page 153: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti153

La compressione delle immagini (124/139)

La codifica JPEG, per quanto di gran lunga la più diffusa, si mostra però poco efficace o addirittura non applicabile in determinate condizioni, fra le quali si possono ricordare:

– Compressione a bassi valori del bit rate: per esempio, sotto 0.25 bpp (per immagini a livelli di grigio con molti dettagli) la performance non è eccellente come ai valori medio-alti del bit rate, e la distorsione dell’immagine codecompressa può risultare non accettabile;– Compressione lossless e lossy non possono coesistere nello stesso codestream;– L’algoritmo JPEG non può essere applicato ad immagini di dimensione superiore a 64K x 64K;– Lo standard JPEG permette differenti modi di compressione, ma molti di essi sono per applicazioni specifiche e non utilizzati dalla maggior parte dei decodificatori. Di fatto, questo rende impossibile avere una sola architettura di decompressione, e rappresenta pertanto un limite all’interscambio tra le applicazioni;

Page 154: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti154

- La trasmissione attraverso un canale rumoroso (per esempio un canale wireless) può essere fortemente penalizzante per la qualitàdell’immagine, in quanto i meccanismi di correzione (intervalli di restart) di cui JPEG è dotato non sono sufficienti per una correzione efficace;– Lo standard JPEG è ottimizzato per le immagini naturali, ma non èaltrettanto efficiente per le immagini sintetiche;– E’ inoltre assolutamente inefficiente nella compressione di immagini binarie, per esempio testi, per cui non è possibile la compressione di documenti composti da parti con caratteristiche differenti (immagini, disegni, testi, etc.).

Per ovviare a questi inconvenienti, è stato avviato qualche anno fa lo sviluppo di un nuovo standard, denominato JPEG2000, giunto a compimento nei primi mesi del 2001.JPEG2000, che nasce per integrare e non per sostituire JPEG, definisce un set di metodi di compressione con e senza perdita, per immagini a tono continuo o bilivello, a livelli di grigio e a colori, sintetiche e naturali.

La compressione delle immagini (125/139)

Page 155: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti155

La compressione delle immagini (126/139)

Lo standard JPEG2000 oltre che ovviare alle insufficienze di JPEGprecedentemente evidenziate, tra le finalità del nuovo standard si segnalano:

– Possibilità di editing e manipolazione dell’immagine nel dominio compresso;– Tessellazione dell’immagine da comprimere, in modo che ciascuna porzione (pittorica, grafica, testuale) possa essere codificata nella maniera più appropriata;– Accesso casuale (ed elaborazione) a parti dell’immagine definite dall’utente (ROI - Regions of Interest), per le quali deve essere inoltre possibile la compressione con minor perdita di informazione– Compatibilità in discesa con JPEG;– Possibilità di descrizioni content-based e di interfacciamento con bit-stream MPEG-4;– Presenza di meccanismi di protezione della proprietà intellettuale delle immagini (watermarking, stamping, etc.).

Alcuni esempi di codecodifica JPEG2000 sono mostrati di seguito, insieme alle corrispondenti codecodifiche JPEG, con riferimento all’immagine “Gold”.

Page 156: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti156

La compressione delle immagini (127/139)

Page 157: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti157

In generale, per l’immagine di esempio l’andamento, al variare del bit rate, del rapporto segnale-rumore mostra la superiorità di JPEG2000rispetto a JPEG.

La compressione delle immagini (128/139)

Page 158: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti158

La principale novità dell’algoritmo di codifica JPEG2000 è l’uso della trasformata wavelet al posto della DCT, come meccanismo di base del sistema di codifica/decodifica.La trasformata wavelet è capace di offrire elevata efficienza di compressione e, allo stesso tempo, capacità di localizzazione spaziale e di analisi a risoluzione variabile impossibili con le trasformate tradizionali.Come è noto, l’approccio tradizionale alla analisi di un segnale 1-D f(t) ne prevede la rappresentazione mediante una somma pesata di funzioni di base:

La compressione delle immagini (129/139)

Le funzioni di base sono fissate, una volta per tutte, dal tipo di trasformazione adoperata, per cui tutta l’informazione sul segnale ècontenuta nei pesi, che sono i coefficienti della trasformazionestessa.

Page 159: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti159

Il problema con questo tipo di rappresentazione, che fa uso di funzioni non locali, anzi di estensione infinita, nel dominio temporale o spaziale,è che tutte le componenti nel dominio trasformato sono necessarie per ottenere l’informazione sul segnale in un istante (o punto) assegnato, così come tutto il segnale è necessario per avere l’informazione su una frequenza specifica.In altri termini, il problema principale dell’analisi alla Fourier è che nella trasformazione tempo (spazio) => frequenza, l’informazione temporale è perduta: esaminando la trasformata di Fourier di un segnale, èimpossibile dire quando (dove) un certo evento ha avuto luogo.L’analisi alla Fourier consente cioè di esaminare le caratteristiche in frequenza globali del segnale, e quindi di studiarne l’andamento di insieme, mentre quella nel dominio temporale (spaziale) permette di guardare alle caratteristiche locali del segnale.Si trae dunque vantaggio dal fatto che la risoluzione alla quale si effettua l’analisi può normalmente essere diversa nei due domini: i fenomeni a bassa frequenza sono infatti legati a variazioni lente, cioènon localizzate, nel dominio temporale (spaziale), mentre quelli ad alta frequenza sono temporalmente (spazialmente) concentrati.

La compressione delle immagini (130/139)

Page 160: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti160

A tal fine, nel 1946 Gabor ideò una variante della trasformata di Fourier, capace di analizzare solo una porzione del segnale alla volta (windowing del segnale):

La compressione delle immagini (131/139)

La Short-Time Fourier Transform (STFT) trasforma un segnale 1-D f(t) in una funzione 2-D del tempo e della frequenza: t rappresenta la posizione di applicazione della finestra.La funzione di windowing, w(t), nella sua forma più semplice è un rettangolo di altezza unitaria.

Page 161: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti161

La STFT rappresenta una specie di compromesso tra le due viste del segnale, nel dominio temporale e nel dominio della frequenza, in quanto è in grado di fornire una certa informazione sia sul quando sia a quali frequenze un certo evento del segnale si verifica.Tuttavia, questa informazione può essere ottenuta con una precisione limitata dalla dimensione della finestra.Una finestra “larga” può consentire per esempio l’analisi di una regione ampia del segnale, con accuratezza in molti casi sufficiente per ciò che riguarda la risoluzione in frequenza, mentre una finestra “stretta” può consentire l’analisi di una piccola porzione del segnale, con accuratezza legata alla risoluzione dei dettagli.Il drawback di questo approccio è che una volta scelta la dimensione della finestra, essa rimane la medesima per tutte le frequenze.L’analisi basata sulle funzioni wavelet è probabilmente la soluzione piùrecente tra quelle che consentono l’elaborazione dei dati a differenti scale, grazie alla utilizzazione di finestre di analisi di dimensione variabile.In particolare, è possibile usare intervalli di tempo più lunghi laddove si desiderino informazioni più precise a bassa frequenza, e intervalli piùbrevi se l’obiettivo è la precisione alle alte frequenze.

La compressione delle immagini (132/139)

Page 162: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti162

In effetti, le wavelet risultano particolarmente adatte alla analisi delle caratteristiche locali di una immagine.Nell’analisi mediante wavelet si fa uso di funzioni di base, {ψi}, che sono versioni scalate e traslate di uno stesso prototipo ψ, detto wavelet madre.La trasformata wavelet continua o CWT di f(t) rispetto alla waveletψ(t) è definita come:

La compressione delle immagini (133/139)

I coefficienti wavelet W(a, t) che risultano dalla trasformazione, in modo analogo a quanto avviene per i coefficienti di Fourier, possono essere utilizzati nella ricostruzione della f(t) mediante la latrasformata wavelet inversa, che esprime f(t) come somma pesata di funzioni di base costituite dalle wavelet ottenute mediante scaling e traslazione dalla wavelet madre:

Page 163: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti163

La compressione delle immagini (134/139)

Page 164: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti164

Lo schema è quello della codifica subband, e nella sua realizzazione più semplice prevede la suddivisione (eventualmente reiterata) dello spettro del segnale S in due parti uguali, una passa-basso A e una passa-alto D, con la conseguente costruzione dell’albero di scomposizione wavelet discreta (DWT).Un esempio:

La compressione delle immagini (135/139)

Page 165: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti165

Lo schema di principio del processo di codifica basato sulla trasformata wavelet è il seguente:

La compressione delle immagini (136/139)

Esso prevede pertanto la scomposizione dell’immagine mediante la DWT 2- D (mapping senza perdita di informazione, con decorrelazione dei dati), la quantizzazione dei coefficienti wavelet (con perdita di informazione) e la codifica VLC dei coefficienti quantizzati.La scomposizione wavelet dell’immagine di input prevede al primo livello la suddivisione in quattro bande, denominate LL1, HL1, LH1 e HH1 (il pedice si riferisce al livello di scomposizione).Chiamando, rispettivamente, A e N le risposte impulsive dei filtri QMF 1-D passa-basso e passa-alto utilizzati nella scomposizione, e à e Ñ quelle dei corrispondenti filtri utilizzati nella ricostruzione, la DWT 2-D può essere realizzata nel modo seguente.

Page 166: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti166

La compressione delle immagini (137/139)

Page 167: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti167

La compressione delle immagini (138/139)

Page 168: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti168

La compressione delle immagini (139/139)

Page 169: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti169

I file grafici si possono dividere in tre grandi categorie:

File Bitmap (o Raster): in cui sono contenuti tutti i dati di tutti i pixel;File vettoriali: che contengono descrizioni matematiche di uno o più elementi di immagine che sono poi utilizzati in vario modo per costruire l’immagine finale;Metafile: che contengono sia bitmap che dati vettoriali. Sono anche abbastanza indipendenti dall’architattura.

Descriveremo ora sinteticamente i tipi di file piùdiffusi nelle applicazioni multimediali.

Tipi di file compressi (1/16)

Page 170: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti170

Tipi di file compressi (2/16)

Name: Adobe Photoshop

Also known as: Photoshop 2.5

Type: Bitmap

Colors: milions

Compression: Uncompressed, RLE

Maximum image size: 30,000 x 30,000

Multiple image per file: No

Numerical format: Big-endian

Originator: Adobe

Platform: Mac, MS Windwos

Supportino Application: Photoshop, Other

Page 171: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti171

Tipi di file compressi (3/16)

Name: AutoCAD DXF

Also known as: AUtoCAD, DXF, DXB, SLD, ADI

Type: Vector

Colors: 256

Compression: None

Maximum image size: NA

Multiple image per file: No

Numerical format: Multiple

Originator: Autodesk

Platform: MS Windwos

Supportino Application: AutoCAD, Other CAD, Corel Draw

Page 172: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti172

Tipi di file compressi (4/16)

Name: GIF

Also known as: Graphic Interchange Format

Type: Bitmap

Colors: 1 to 8

Compression: LZW

Maximum image size: 64kb x 64kb

Multiple image per file: Yes

Numerical format: Little-endian

Originator: CompuServe Inc.

Platform: Mac, MS Windwos, UNIX, Amiga, Others

Supportino Application: Too numerous

Page 173: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti173

Tipi di file compressi (5/16)

Name: Interchange File Format

Also known as: IFF, ILM, Amiga Paint, ILBM

Type: Bitmap

Colors: 24-bit

Compression: Uncompressed, RLE

Maximum image size: 64K x 64K pixels

Multiple image per file: No

Numerical format: Big-endian

Originator: Commodore Amiga, Inc.

Platform: Amiga

Supportino Application: Too numerous

Page 174: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti174

Tipi di file compressi (6/16)

Name: JPEG File Interchange Format

Also known as: JFIF, JFI, JPG, JPEG

Type: Bitmap

Colors: up to 24-bit

Compression: JPEG

Maximum image size: 64K x 64K pixels

Multiple image per file: No

Numerical format: Big-endian

Originator: C-Cube Microsystem

Platform: All

Supportino Application: Too numerous

Page 175: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti175

Tipi di file compressi (7/16)

Name: Kodak Photo CD

Also known as: Photo CD

Type: Bitmap

Colors: 24-bit

Compression: Proprietary

Maximum image size: 2048 x 3072

Multiple image per file: No

Numerical format: NA

Originator: Eastman Kodak

Platform: All

Supportino Application: Photo CD Access, Shoebox, Photoshop

Page 176: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti176

Tipi di file compressi (8/16)

Name: Microsoft Paint

Also known as: MSP

Type: Bitmap

Colors: Mono

Compression: RLE, uncompressed

Maximum image size: 64K x 64K pixels

Multiple image per file: No

Numerical format: Little-endian

Originator: Microsoft Corporation

Platform: MS Windows

Supportino Application: Microsoft Paint, Other

Page 177: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti177

Tipi di file compressi (9/16)

Name: Microsoft RTF

Also known as: Rich Text Format

Type: Metafile

Colors: 256

Compression: None

Maximum image size: NA

Multiple image per file: No

Numerical format: Little-endian

Originator: Microsoft Corporation

Platform: MS Windows

Supportino Application: Word processing

Page 178: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti178

Tipi di file compressi (10/16)

Name: Microsoft Windows Bitmap

Also known as: BMP, DIB

Type: Bitmap

Colors: Mono, 4-bit, 24-bit

Compression: RLE, Uncompressed

Maximum image size: 64K x 64K pixels

Multiple image per file: No

Numerical format: Little-endian

Originator: Microsoft Corporation

Platform: MS Windows

Supportino Application: Too numerous

Page 179: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti179

Tipi di file compressi (11/16)

Name: Microsoft Windows Metafile

Also known as: Windows Metafile, WMF

Type: Metafile

Colors: 24-bit maximum

Compression: NA

Maximum image size: NA

Multiple image per file: No

Numerical format: Little-endian

Originator: Microsoft Corporation

Platform: MS Windows

Supportino Application: Too numerous

Page 180: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti180

Tipi di file compressi (12/16)

Name: MPEG

Also known as: MPG, MPEG-1, MPEG-2

Type: Audio/Video

Colors: up to 24-bit (4:2:0 YCbCr)

Compression: DCT

Maximum image size: 4095 x 4095 x 30 frames/second

Multiple image per file: Yes

Numerical format: NA

Originator: Motion Picture Experts Group

Platform: All

Supportino Application: Too numerous

Page 181: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti181

Tipi di file compressi (13/16)

Name: TGA

Also known as: Targa Image File, VST, VDA, ICB, TPIC

Type: Bitmap

Colors: 8-bit, 16-bit, 24-bit, 32-bit

Compression: RLE, Uncompressed

Maximum image size: None

Multiple image per file: No

Numerical format: Little-endian

Originator: Truvision Inc.

Platform: MS Windows, UNIX, Amiga, Atari

Supportino Application: Too numerous

Page 182: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti182

Tipi di file compressi (14/16)

Name: TIFF

Also known as: Tag Image File Format

Type: Bitmap

Colors: 1- to 24-bit

Compression: Uncompressed, RLE, LZW,CCITT 3 and 4, JPEG

Maximum image size: 232-1

Multiple image per file: Yes

Numerical format: NA

Originator: Aduls

Platform: MS Windows, UNIX, Macintosh

Supportino Application: Too numerous

Page 183: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti183

Tipi di file compressi (15/16)

Name: XWD

Also known as: X Window Dump

Type: Bitmap

Colors: Unlimited

Compression: Uncompressed

Maximum image size: 64K x 64K pixels

Multiple image per file: No

Numerical format: Big- and Little-endian

Originator: X Consortium

Platform: UNIX, MS WIndows

Supportino Application: Many

Page 184: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti184

Tipi di file compressi (16/16)

Name: Intel DVI

Also known as: DVI, Digital Video Interface, Intel Real-Time Video

Type: Multimedia

Colors: 16 milion

Compression: JPEG, proprietary

Maximum image size: 256 x 240

Multiple image per file: Yes

Numerical format: NA

Originator: Intel Corporation

Platform: Intel based PCs

Supportino Application: Too numerous

Page 185: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti185

Codifica Video (1/19)Oltre che dalle necessità di contenere le dimensioni della rappresentazione delle immagini, a fine sia di memorizzazione sia di trasmissione, la compressione di sequenze di immagini e video trae origine dalla necessitàdi garantire la riproduzione delle sequenze con un adeguato frame rate, quando la visualizzazione è on line rispetto alla trasmissione, come in alcune applicazioni killer quali la TV digitale o i sistemi di videoconferenza.

Per esempio, lo standard TV PAL richiede la riproduzione, 25 volte al secondo, di frame di dimensioni pari a 720 (colonne) x 576 (righe). A 24 bpp questo darebbe luogo, anche trascurando altri aspetti non secondari della elaborazione del segnale TV, ad un bit rate minimo di 720 x 576x 25 x 24 ≈31 Mbyte/sec, assolutamente improponibile per usi consumer.

L’estensione di metodi di compressione come quelli già visti perle immagini fisse, per esempio il JPEG, porta ad algoritmi di codifica che, sfruttando solo la ridondanza spaziale, non garantiscono qualità sufficiente ai bassi bit rate.

Page 186: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti186

Codifica Video (2/19)

E’ il caso della tecnica nota come motion JPEG o M-JPEG, che prevede la codifica JPEG indipendente di ogni frame della sequenza, ed ha avuto una diffusione abbastanza limitata, esclusivamente per usoprofessionale

Lo sfruttamento della correlazione interframe, specifica delle sequenze video, che consente di ridurre la ridondanza interpixel temporale generalmente presente in modo massiccio, appare quindi indispensabile, sia pur in aggiunta, e non in sostituzione, alla codifica intraframe.

Uno dei primi schemi di codifica legati alla riduzione della ridondanza interframe si basa sul cosiddetto algoritmo di riempimento condizionale (conditional replenishment) dei frame, e fu sviluppato negli anni ‘70 per applicazioni TV.

Vengono presi in considerazione due frame alla volta: il frame corrente i, da codificare, e il frame precedente i-1, usato come riferimento.

Page 187: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti187

Codifica Video (3/19)

Le informazioni sul valore e sulla posizione dei soli pixel modificati sono trasmesse al ricevitore, dove vengono utilizzate durante lariproduzione dell’immagine. I pixel non modificati vengono invece riprodotti uguali ai corrispondenti pixel del frame precedente.

I buffer sono necessari per regolarizzare il data rate, estremamente variabile da un frame all’altro e da una regione all’altra dello stesso frame:

Page 188: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti188

Si ottengono così le tecniche di codifica predittiva con compensazioneattraverso il moto, alla base dei moderni standard di compressione video (per esempio MPEG), che risultano più efficienti della semplice framedifference, in quanto la varianza dell’errore di predizione compensato attraverso il moto è inferiore.Invece dell’errore di predizione, vengono codificati la differenza tra il frame corrente e una sua stima, ottenuta a partire dal frame precedente e dagli spostamenti (o vettori di moto) degli oggetti presenti, nonchè gli spostamenti stessi.E’ richiesta l’utilizzazione di un modello del moto.

Codifica Video (4/19)

Nell’esempio si assume che la vettura si muova, nell’intervallo di tempo tra i due frame, da destra verso sinistra, a velocitàcostante, nel piano dell’immagine. Si suppone inoltre che non ci siano altri cambiamenti tra i due frame.

Page 189: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti189

In queste ipotesi, noto lo spostamento subito dai pixel che rappresentano la vettura tra i due frame consecutivi, è possibile, a partire dal frame fi-1, stimare il frame fi e quindi calcolare l’errore di predizione compensato, come differenza tra fi effettivo e fi stimato.L’accuratezza della stima dipende dalla precisione con cui possono essere determinati i vettori di moto: se la precisione fosse assoluta, l’errore di predizione compensato sarebbe nullo.In realtà, l’errore di predizione compensato è sempre diverso da 0, sia per la presenza di occlusioni o di rumore sia in quanto il modello di moto utilizzato, per motivi di semplicità computazionale, è in genere approssimativo.

Codifica Video (5/19)

Page 190: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti190

Precisamente, sono già standard internazionali:

MPEG-1(1992), noto anche come standard ISO 11172, per la “codifica di immagini in movimento e dell’audio associato”, la cui applicazione-target è la memorizzazione su supporto digitale (digital storagemedia) a bit rate fino a circa 1.5 Mbps. Di fatto è lo standard di codifica audio-video per applicazioni su CD-ROM e audio MP3;

MPEG-2(1994), noto anche come standard ISO 13818 o raccomandazione H.262, estensione del precedente per la “codifica generica di immagini in movimento e dell’audio associato”, la cui applicazione-target è la TV digitale, con bit rate tra 2 e 15 Mbps per qualità non inferiore a quella degli standard TV NTSC e PAL, e 19 Mbps per la TV ad alta definizione. Di fatto è lo standard di codifica video per la TV digitale (su di esso si basano i vari standard televisivi DVB, via cavo, satellite e terrestre) e per le applicazioni su DVD;

Codifica Video (6/19)

Page 191: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti191

MPEG-4(1999), noto anche come standard ISO 14496, che fornisce “gli elementi tecnologici standardizzati per l’integrazione dei paradigmi di produzione, distribuzione ed accesso al contenuto” multimediale, nei settori della TV digitale, della grafica interattiva, del multimedia interattivo. Gli obiettivi fondamentali sono, oltre all’efficienza di compressione, le elevate funzionalità interattive, la codifica di dati naturali e/o sintetici, l’accessibilità e la robustezza in ambienti error-prone. E’ il primo standard rivolto non solo alla “codifica multimediale basata sul contenuto”, ma anche e soprattutto alle funzionalitàMPEG-7(2001), per la “descrizione del contenuto e l’indicizzazione dell’informazione multimediale”, il cui obiettivo fondamentale è fornire un ricchissimo set di descrittori audio-visuali, sia semantici che strutturali.

E’ stato inoltre già avviato l’iter di MPEG-21, per la “distribuzione dell’informazione multimediale”.

Codifica Video (7/19)

Page 192: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti192

Sono inoltre da ricordare i seguenti altri standard di codifica video, importanti nel settore dei bit rate bassi e molto bassi:

CCITT H.261 (1993), per la trasmissione di video in teleconferenza, che utilizza uno schema di compensazione del moto basato su DCT,conbit rate compresi tra 64 e 1920 Kbps;CCITT H.263 (1996), estensione del precedente per la trasmissione a bit rate molto bassi, con caratteristiche migliorate per ciò che riguarda la predizione dal moto, la sintassi, etc.;CCITT H.263 V.2 o H.263+ (1998), che include nuove caratteristiche opzionali, in relazione alla efficienza di codifica, la flessibilità dei formati video, la scalabilità, etc.

Infine, meritano di essere almeno citate anche alcune tecnologieproprietarie, che hanno avuto ed hanno grande rilevanza per le applicazioni, come QuicktimeTM della Apple e INDEOTM della Intel (AVI di Windows).

Codifica Video (8/19)

Page 193: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti193

MPEG-1 è il primo standard (generico, in quanto non pensato per una applicazione specifica) per la compressione di informazioni multimediali(video e audio).Lo standard MPEG in realtà non specifica esplicitamente come il processo di codifica debba essere effettuato, ma piuttosto la sintassi e la semanticadel bit stream compresso e le elaborazioni di pertinenza del decoder, consentendo quindi agli encoder grandi margini di scelta nei trade-offcosto-velocità e qualità-efficienza di codifica.Gli algoritmi MPEG-1 sono con perdita di informazione sia per la parte video che per la parte audio.In particolare, l’algoritmo di compressione video sfrutta sia la ridondanza interframe (con compensazione del moto) che quella intraframe (basata su DCT).E’ possibile applicare l’algoritmo di compressione a formati video progressivi fino a 4095 x 4095 pixel/frame, ma esso risulta ottimizzato per il formato SIF (360 x 240 x 30 fpso 360 x 288 x 25 fps per la componente Y, 180 x 120 x 30 fps o 180 x 144 x 25 fps per le componenti Cb/Cr, dec. 4:2:0).

Codifica Video (9/19)

Page 194: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti194

Altre specifiche soddisfatte da MPEG-1 sono: audio di qualità CD, accesso casuale ai singoli frame in meno di 0.5 sec, ricerca avanti/indietro veloce, playback inverso, sincronizzazione audio/video, ritardo massimo di 0.15 sec (emissione diretta) o di 1 sec (uso interattivo), possibilità di editingdei file.La sequenza video da codificare è suddivisa in gruppi di picture (GOP) .Ogni GOP può contenere tre tipi differenti di frame:

–frameI(intracoded)–frameP(predictive-coded)–frameB(bidirectionally predictive-coded)

di norma alternati secondo un certo pattern,un esempio del quale è riportato in figura.

Codifica Video (10/19)

Page 195: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti195

I frame di tipo I sono codificati sfruttando soltanto la ridondanza intraframe (tipo JPEG), quindi senza predizione compensata dal moto, e pertanto risultano autosufficienti sia in fase di codifica che di decodifica. La loro presenza in numero appropriato è essenziale per l’accesso direttoLa distanza temporale fra due frame I consecutivi definisce la dimensione N del GOP .I framedi tipo P sono codificati con predizione compensata dal moto rispetto al frame I (o P) precedente: M è la distanza temporale tra due frame utilizzabili per la predizione (anchor frames).I parametri M e N sono entrambi selezionabili dall’utente: valori piùgrandi favoriscono la performance della codifica, ma anche la propagazione dell’errore.Valori tipici per N sono tra 12 e 15 frame, per M tra 1 e 3 (se M = 1 non ci sono frame di tipo B).

Codifica Video (11/19)

Page 196: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti196

Codifica Video (12/19)

Page 197: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti197

Come MPEG-1, anche lo standard MPEG-2 consiste di tre parti principali: video, audio e system.La struttura di base della codifica video è la stessa di MPEG-1, basata cioè su codifica DCT intraframe e interframe, con frame di tipo I, P e B.La principale differenza sta nei meccanismi di supporto alla codifica di video interlacciato, necessari per le applicazioni TV e non esistenti in MPEG-1.A tal fine, l’analisi del moto compiuta dall’encoder MPEG-2 è arricchita dalla possibilità di selezionare a livello di macro-blocco, sulla base di un criterio adattivo di best matching, un modo di predizione frame-based(uguale all’unico possibile in MPEG-1) ovvero un modo di predizione field-based.Come è noto, un frame è costituito da un field superiore e da un fieldinferiore, ma nella predizione frame-based di questa distinzione non si tiene conto.

Codifica Video (13/19)

Page 198: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti198

Nell’esempio, il frame P è dunque predetto (un vettore di moto) dal frameI precedente, mentre il frame B può essere predetto (forward) dal frameI precedente (un vettore di moto) oppure (backward) dal frame P seguente (un vettore di moto) oppure (bidirezionale) da entrambi i frame(due vettori di moto)Nella predizione field-based, invece, ogni field può essere predetto da uno dei due field dell’anchor frame.

Codifica Video (14/19)

Page 199: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti199

In blu sono mostrate le predizioni dai field superiori, in rosso quelle dai field inferiori, in verde quelle dai frame.Per il frame P ci possono dunque essere fino a due vettori di moto, uno per il field superiore e uno per il field inferiore, per la predizione dal frame I precedente, mentre per il frame B ci possono essere fino a quattro vettori di moto, due per ciascun field, per la predizione da entrambi i frame.

Codifica Video (15/19)

Page 200: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti200

Come detto, l’MPEG-4 nasce per l’integrazione dei paradigmi di produzione, distribuzione ed accesso al contenuto multimediale, nei settori della TV digitale, della grafica interattiva, del multimedia interattivo.E’ stato pertanto pensato per fornire gli elementi tecnologici in grado di soddisfare le esigenze di autori, fornitori di servizi e utenti di servizi multimediali, in modo da evitare la proliferazione di formati e applicativi proprietari di dubbia compatibilità e difficile integrabilità.MPEG-4 fornisce un modo standardizzato di:

rappresentare “unità” di contenuto video o audio o audio-video, chiamate oggetti, che possono essere naturali o sintetici;descrivere la combinazione di oggetti in oggetti complessi, che a loro volta formano scene audio-visuali;sincronizzare e multiplare i dati associati agli oggetti, in modo che essi possano essere trasferiti con appropriata qualità del servizio;consentire l’interazione dell’utente finale con la scena audio-visuale.

Codifica Video (16/19)

Page 201: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti201

L’organizzazione della scena audio-visuale è gerarchica, e può essere rappresentata da un albero, le cui foglie sono oggetti primitivi, come immagini statiche (per esempio, un background fisso), oggetti video (per esempio, una persona che parla, senza background), oggetti audio (per esempio, la voce associata a quella persona), etc.Questa struttura gerarchica non è necessariamente statica: gli attributi di un nodo, per esempio i parametri di posizione, possono essere modificati, dei nodi possono essere aggiunti o eliminati, etc.Gli oggetti audio-video hanno una estensione sia spaziale che temporale.Nell’esempio seguente, l’oggetto visuale corrispondente alla persona che parla (senza sfondo) è associato all’oggetto audio costituito dalla voce, per formare l’oggetto audio-video persona.Nella codifica, ogni oggetto è costituito da elementi descrittivi che ne permettono la rappresentazione e la manipolazione dentro la scena, e da un data stream associato all’oggetto, e può essere rappresentato in modo indipendente da ciò che lo circonda (background, altri oggetti).

Codifica Video (17/19)

Page 202: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti202

Codifica Video (18/19)

Page 203: TECNICHE DI ELABORAZIONE NUMERICA DI IMMAGINE E …ispac.diet.uniroma1.it/scarpiniti/files/Lezione2_LT.pdf · Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele

Tecniche di Elaborazione Numerica di Immagine e Video – Ing. Michele Scarpiniti203

Oltre ai tipi di oggetti menzionati, è possibile codificare testo, grafica, suoni sintetici e oggetti speciali come le teste sintetiche parlanti.MPEG-4 definisce un linguaggio, noto come BIFS (BInary Format forScenes), per la descrizione della scena, che è pesantemente basato sui concetti propri di VRML (Virtual Reality Modeling Language).Il linguaggio offre supporto per la collocazione degli oggetti nella scena, la modifica delle loro caratteristiche geometriche o acustiche, la costruzione di oggetti più complessi, l’assegnazione di data stream a oggetti o la modifica dei loro attributi (un suono, una tessitura mobile, i parametri di animazione di una faccia sintetica, etc.), la modifica interattiva del punto di vista dell’utente, etc.La descrizione della scena è codificata e trasmessa insieme alla codifica dei parametri di descrizione degli oggetti e dei data stream ad essi associati.Come detto, gli oggetti video possono essere sia naturali sia sintetici.Nel primo caso, un VO è definito come unità atomica di immagine o video.Un video object plane (VOP) è una istanza di VO in un istante fissato.

Codifica Video (19/19)