La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Introduzione alla compressione. Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-20082 Cosa è la compressione? Intuitivamente la compressione.

Presentazioni simili


Presentazione sul tema: "Introduzione alla compressione. Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-20082 Cosa è la compressione? Intuitivamente la compressione."— Transcript della presentazione:

1 Introduzione alla compressione

2 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-20082 Cosa è la compressione? Intuitivamente la compressione è un metodo per “comprimere qualcosa in uno spazio minore”. Nel nostro ambito una definizione migliore è “rendere l'informazione più breve”

3 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-20083 Alcune domande fondamentali Cos'è l'informazione? Come è possibile misurare la quantità di informazione? Perché la compressione è utile? Come si può comprimere l'informazione? Quanto riusciamo a comprimere?

4 4 Cos'è l'informazione? - I Comunemente il termine informazione si riferisce alla conoscenza di fatti, circostanze o pensieri Per esempio possiamo pensare che le informazioni in un giornale siano le notizie sintassi lettere, punteggiatura, spazi bianchi, regole grammaticali... semantica significato delle parole e delle frasi

5 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-20085 Cos'è l'informazione? - II Per noi l'informazione è costituita soltanto dalla sintassi, cioè siamo interessati soltanto ai simboli dell'alfabeto utilizzati per esprimere l'informazione Prima di dare una definizione matematica dell'informazione sono necessari alcuni principi di Teoria dell'Informazione

6 6 Un concetto fondamentale Un concetto fondamentale in Teoria dell'Informazione è che l'informazione è legata alla casualità Quale informazione ci fornisce una moneta truccata, la cui uscita è sempre testa? E per quanto riguarda un'altra moneta truccata, la cui uscita è testa con il 90% di probabilità? Abbiamo bisogno di misurare quantitativamente la quantità di informazione secondo un qualche criterio matematico

7 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-20087 Incertezza (uncertanty) - I Sia X una variabile casuale e x uno dei suoi possibili valori, che essa assume con probabilità p(x)‏ The units are given by the base of the logarithms Base 2 bits Base 10 nats

8 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-20088 Incertezza (uncertanty) - II Supponiamo che la variabile casuale abbia uscita in {0,1} p(0) = p(1) = 0.5, ogni uscita ci dà 1 bit diinformazione p(0) = 1, p(1) = 0, 0 non ci dà informazione, 1 informazione infinita

9 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-20089 Entropia Ancora più utile è il concetto di entropia di una variabile casuale X a valori in uno spazio X L'entropia è una misura dell'incertezza media della variabile casuale

10 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200810 Entropia - esempi Consideriamo di nuovo una variabile casuale a valori in {0,1}

11 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200811 Compressione e perdita Senza perdita (lossless) il messaggio decompresso è una copia esatta dell'originale. Adatto per la compression del testo Con perdita (lossy)‏ Nel messaggio decompresso una parte dell'informazione è andata persa. Adatto per la compressione di immagini, video e audio Ignoriamo per un momento la compressione con perdita

12 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200812 Definizioni - I Un codice sorgente ottenuto a partire da una variabile casuale X è un mapping dall'insieme X all'insieme D* delle stringhe di lunghezza finita da un alfabeto di D simboli C(x), parola di codice per x l(x), lunghezza di C(x)

13 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200813 Definizioni - II codice non singolare (... triviale...)‏ ogni elemento di X corrisponde ad una differente stringa di D* codice univocamente decodificabile la sua estensione è univocamente decodificabile

14 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200814 Definizioni - III codice prefisso (meglio senza prefisso) o istantaneo nessuna parola di codice è un prefisso di un'altra il vantaggio è che la decodifica non ha bisogno di “aspettare il seguito” (look-ahead)‏ 110 b 11 a parole di codice... 11?...

15 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200815 Esempi 111110011104 11100103 10000101102 0100011 codice 4codice 3codice 2codice 1 singolare non singolare, ma non univocamente decodificabile univocamente decodificabile ma non istantaneo istantaneo

16 16 Disuguaglianza di Kraft - I Teorema (Disuguaglianza di Kraft)‏ Per ogni codice istantaneo su un alfabeto di dimensione D, le lunghezze delle parole di codice l 1,l 2,...,l m devono soddisfare Al contrario, dato un insieme di parole di codice la cui lunghezza soddisfa questa disuguaglianza, esiste un codice istantaneo con queste lunghezze di parola

17 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200817 Disuguaglianza di Kraft - II Consideriamo un albero D-ario completo a livello k ci sono D k nodi un nodo a livello p < k ha D k-p discendenti che sono nodi a livello k livello 0 livello 1 livello 2 livello 3

18 18 Disuguaglianza di Kraft - III Dimostrazione Si consideri un albero D-ario (non necessariamente completo) che rappresenta il codice, con ogni percorso dalla radice a rappresentare una sequenza di simboli, e ogni foglia (con il suo percorso unico) una parola di codice. Sia l max la parola di codice più lunga. Ogni parola di codice di lunghezza l i ≤ l max, essendo una foglia, implica che a livello l max ci siano D l max -l i nodi mancanti

19 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200819 Disuguaglianza di Kraft - IV Il numero totale di nodi al livello l max è D l max Sommando su tutte le parole di codice Dividendo per D l max

20 20 Disuguaglianza di Kraft - V Dimostrazione Supponiamo (senza perdita di generalità) che le parole di codice siano ordinate per lunghezze, ossia Consideriamo un albero D-ario e cominciamo ad assegnare ogni parola di codice ad un nodo del suo livello, partendo dalla prima Data una generica parola i con lunghezza l i e consideriamo l'insieme K di parole di codice di lunghezza l k ≤ l i, tranne i stessa.

21 21 Disuguaglianza di Kraft - VI Supponiamo che ad un certo punto non ci siano più nodi disponibili a livello i, ossia ma questo implica che ossia che il che è assurdo. Ossia si riesce a costruire un codice prefisso con le lunghezze di parola date

22 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200822 Modelli e codificatori Il modello fornisce le probabilità dei simboli (o dei gruppi di simboli, come vedremo più avanti)‏ Il codificatore/decodificatore codifica e decodifica a partire da queste probabilità modell o codificator e decodificator e messaggio messaggio compresso

23 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200823 Un buon modello è fondamentale Cosa accade se le probabilità vere dei simboli da codificare sono {p i } ma si utilizzano invece le probabilità {q i }? Semplice, il messaggio compresso sarà più lungo, ossia il numero medio di bit per simbolo sarà maggiore E' possibile calcolare la differenza in bit/simbolo a partire dai due insiemi di probabilità {p i } e {q i }, e tale differenza è nota come entropia relativa

24 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200824 Modelli a contesto finito p(x i = u) = 0.02 in lingua inglese...... ma p(x i = u|x i-1 = q) = 0.95 Un modello a contesto finito di ordine m utilizza gli m simboli precedenti per costruire la predizione Modello più accurato, ma abbiamo bisogno di stimare molte più probabilità

25 25 Modelli a stato finito Sebbene in teoria siano più espressivi (per esempio si può modellare se ci siano state un numero apri o dispari di a consecutive), non godono di molta popolarità. Ovviamente il decodificatore utilizza lo stesso modello del codificatore, in modo da andare incontro agli stessi stati 12 a 0.5 a 0.99 b 0.01 b 0.5

26 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200826 Modelli statici Un modello è statico se impostiamo una distribuzione di probabilità è poi essa è usata per codificare l'intero testo. Scarse performance in caso di parti di tipo differente (testo, dati finanziari...)‏ Una soluzione è avere K modelli differenti ed inviare l'indice del modello utilizzato... ma si veda il libro “Gadsby” by E. V. Wright

27 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200827 Modelli adattivi (o dinamici)‏ Per risolvere il problema della modellazione statica, i modelli dinamici o adattivi iniziano con una distribuzione di probabilità generale, che viene raffinata mano a mano che sono noti più simboli del messaggio sorgente Il codificatore ed il decodificatore hanno la stessa distribuzione iniziale e le stesse regole per modificarla Sono possibili modelli adattivi di ogni ordine m>0

28 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200828 Il problema della frequenza zero (zero-frequency problem)‏ La situazione in cui un simbolo è predetto con probabilità zero è da evitare in quanto non può essere codificato Una possibile soluzione: il numero totale di simboli del messaggio originale è aumentato di 1. Questa probabilità 1/numero_totale è divisa fra tutti i simboli mai visti Un'altra soluzione: far partire da uno il contatore di ogni simbolo Sono state proposte diverse altre soluzioni... Quale è la migliore? Purché il testo sia sufficientemente lungo il livello di compressione che si ottiene è simile

29 Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-200829 Modelli basati sui simboli e modelli basati su un dizionario L'insieme di tutti i possibili simboli che possono essere emessi da una sorgente è detto alfabeto I modelli basati sui simboli (symbolwise) stimano la probabilità di uscita di ogni simbolo dell'alfabeto I modelli basati su un dizionario (dictionary), al contrario, sostituiscono stringhe del testo con parole di codice che le identificano in una collezione di stringhe, detta dizionario (dictionary, codebook)‏


Scaricare ppt "Introduzione alla compressione. Gabriele Monfardini - Corso di Basi di Dati Multimediali - a.a. 2007-20082 Cosa è la compressione? Intuitivamente la compressione."

Presentazioni simili


Annunci Google