Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoItalo Casali Modificato 8 anni fa
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)
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.