Universit degli Studi di Roma La Sapienza Facolt

  • Slides: 24
Download presentation
Università degli Studi di Roma “La Sapienza” Facoltà di Scienze Matematiche Fisiche e Naturali

Università degli Studi di Roma “La Sapienza” Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica “Elaborazioni delle Immagini” Appunti sulla Compressione Anno Accademico 2002 -2003

Presentazione Concetti generali legati alla compressione Compressione di dati testuali Compressione video Compressione audio

Presentazione Concetti generali legati alla compressione Compressione di dati testuali Compressione video Compressione audio Compressione di immagini Tecniche Algoritmi 2

La Compressione ¨ Per compressione si intende una giusta ed economica codifica dell’informazione. ¨

La Compressione ¨ Per compressione si intende una giusta ed economica codifica dell’informazione. ¨ Aree interessate: ¨ i sistemi di comunicazione, dove l’obiettivo è quello di sfruttare al meglio la banda passante del canale di comunicazione; ¨ la memorizzazione di dati, dove si cerca di ottimizzare lo spazio disponibile. 3

Limiti Fisici - Limiti del Canale di Comunicazione e dei Dispositivi di Memorizzazione- ¨

Limiti Fisici - Limiti del Canale di Comunicazione e dei Dispositivi di Memorizzazione- ¨ Unità di misura: bps bit per secondi ¨ T 4 1 Mbps ¨ Unità di misura: byte ¨ 20 Mbyte(1990) Mbyte ¨ Cavo Coassiale 100 Mbps ¨ 1 Gbyte (1993) ¨ Fibra Ottica ¨ 40 Gbyte (1997) ¨ 80 Gbyte (2000) 10 Gbps 4

La Teoria dell’Informazione - Motivazioni - ¨ Lavori affrontati da Claude Shannon e Warren

La Teoria dell’Informazione - Motivazioni - ¨ Lavori affrontati da Claude Shannon e Warren Weaver (fine anni ’ 30). ¨ Motivazione: ¨ studiare dal punto di vista fisico-matematico le condizioni di migliore efficienza del trasferimento di segnali attraverso apparati tecnici di trasmissione. ¨ Studi affrontati: ¨ Formalizzazione di concetti legati alla dell’informazione, codifiche, compressione… trasmissione 5

La Teoria dell’Informazione - Sistema di Comunicazione - ¨ Sorgente ¨ Codifica ¨ Codice

La Teoria dell’Informazione - Sistema di Comunicazione - ¨ Sorgente ¨ Codifica ¨ Codice Sorgente ¨ Canale ¨ Codice Canale ¨ Decodifica ¨ Codice Destinazione ¨ Ricevente 6

La Teoria dell’Informazione - Codici e Codifiche - ¨ Un codice C è un

La Teoria dell’Informazione - Codici e Codifiche - ¨ Un codice C è un insieme di parole composte da simboli di un alfabeto (che chiameremo alfabeto di sostegno di C). ¨ La rappresentazione o codifica di un insieme di informazioni I in un dato codice C, è una funzione φ: I→C ossia una legge che associa ad ogni informazione che si intende rappresentare, una opportuna parola del codice C. In modo analogo la decodifica di una informazione codificata in precedenza nel codice C è una corrispondenza del tipo ψ: C→I. ¨ Indicando con Nx la cardinalità dell’insieme X, la codifica si definisce irridondante se c= I, ridondante se c> I e ambigua se c< I. ¨ La nozione di codifica ha origini antiche: esistevano codici da utilizzarsi in condizioni belliche (cifrario di Cesare) o codifiche di interesse generale (codice Morse). In informatica segnaliamo lo 7 standard ASCII usato per rappresentare caratteri e tasti funzionali negli attuali elaboratori elettronici.

La Teoria dell’Informazione - Limite della Compressione - ¨ L’Entropia di una sorgente può

La Teoria dell’Informazione - Limite della Compressione - ¨ L’Entropia di una sorgente può essere considerata come la quantità media di informazione associata alla sorgente; il peso di ogni messaggio è dato dalla sua probabilità di occorrenza. Distribuzione di Probabilità: P(bianco)= 4000/18000=0. 22 P(giallo)= 1000/18000=0. 06 P(grigio)= 3000/18000=0. 17 P(blu)= 2000/18000=0. 11 P(rosso)= 2000/18000=0. 11 P(nero)= 6000/18000=0. 33 P(verde)=. . . =P(marrone)=0/18000=0. 0 Valore Entropia: H(p): =2. 67 Immagine: 100 x 180 pixel Messaggi={nero, giallo, grigio, . . . , bianco} |Messaggi|=255 (8 bit) Byte necessari per rappresentare immagine (con codifica standard): 18. 000 bianco=11 rosso=100 blu=010 grigio=011 nero=00 giallo=101 Esempio: Byte necessari per rappresentare immagine (con codifica entropica): 5. 500 8

Campi di Interesse ¨ Testo ¨ Immagini ¨ Video ¨ Audio 9

Campi di Interesse ¨ Testo ¨ Immagini ¨ Video ¨ Audio 9

Immagini Digitali - Definizione - ¨ Una immagine digitale è un insieme discreto di

Immagini Digitali - Definizione - ¨ Una immagine digitale è un insieme discreto di punti di immagine (pixel) avente la forma di una matrice bidimensionale. La risoluzione della stessa viene data a bit per valore campionato. Si distinguono, infatti, immagini true color a 24 bit; immagini a 16 bit colore ed immagini a 8 bit colore. Immagine 24 bit Immagine 16 bit Immagine 8 bit 10

Immagini Digitali - Par Condicio - Immagine 24 bit Orrore 24 bit Immagine 16

Immagini Digitali - Par Condicio - Immagine 24 bit Orrore 24 bit Immagine 16 bit Orrore 16 bit Immagine 8 bit Orrore 8 bit 11

Immagini Digitali - Definizione - ¨ Poi vi sono immagini, prive di colore, che

Immagini Digitali - Definizione - ¨ Poi vi sono immagini, prive di colore, che fanno parte di una classe definita come immagini di studio, e trovano una rappresentazione mediante scala di grigio (8 bit) o binaria (1 bit). Immagine a 256 toni di grigio Immagine bianco-nero 12

Tecniche di Compressione LOSSY LOSSLESS Tecniche con perdita di informazione. L’informazione dopo il processo

Tecniche di Compressione LOSSY LOSSLESS Tecniche con perdita di informazione. L’informazione dopo il processo di Si cerca una parziale rappresentazione decodifica risulta essere uguale del messaggio insito nella immagine a all’originale vantaggio di un minimo dimensionamento della stessa Codifica Aritmetica - JPEG MP 3(Audio) - MPEG(Video) JBIG - LOCO - LZ 85 – BMF CDA(Audio) - AVI(Video) 13

Algoritmi di Compressione - Classificazione Codificatori Entropici Codificatori Mediante Dizionari Basano il loro funzionamento

Algoritmi di Compressione - Classificazione Codificatori Entropici Codificatori Mediante Dizionari Basano il loro funzionamento sul modello probabilistico, ovvero sulla conoscenza della frequenza di ogni messaggio (o simbolo dell’alfabeto) all’interno del flusso di dati Algoritmi che tendono ad eliminare la ridondanza dei dati incentrando l’attenzione su dove essa risiede Shannon Fano - Huffman - Codifica Aritmetica RLE - LZ 1 - LZ 2 - LZW L’eliminazione della ridondanza avviene mediante l’utilizzo di un puntatore distanza, lunghezza o da un indice che fa riferimento ad un insieme di stringhe che si ripetono 14

Algoritmi di Compressione - Codici di Huffman- ¨ Tipo di codifica entropica con complessità

Algoritmi di Compressione - Codici di Huffman- ¨ Tipo di codifica entropica con complessità (O(nlogn)); ¨ Offre buoni risultati; ¨ Il suo utilizzo è presente come parte complementare in molti processi di compressione; ¨ Per n→∞ la lunghezza media dei messaggi codificati con i codici di Huffman tende all’Entropia. ¨ I codici Huffman sfruttano un algoritmo che consente di definire la stringa ottima di ciascun carattere, mediante una stringa binaria di rappresentazione. Per rappresentare dei dati si utilizza un codice a lunghezza variabile che assegna una ‘parola’ del codice corta ai caratteri molto frequenti ed una ‘parola’ lunga ai caratteri meno frequenti. 15

Algoritmi di Compressione - Sinossi Codici di Huffman. Q: coda con priorità HUFFMAN(C) HUFFMAN

Algoritmi di Compressione - Sinossi Codici di Huffman. Q: coda con priorità HUFFMAN(C) HUFFMAN { ordinata per minima frequenza C: insieme elementi n |C| da comprimere <valore, frequenza> Q C for i=1 to n-1 do z ALLOCAZIONE_NODO (C) x Left[z] ESTRAZIONE_ MIN(Q) C, alla fine del procedimento, risulterà essere un albero con etichette sugli spigoli y Right[z] ESTRAZIONE_ MIN(Q) f[z] f[x]+f[y] INSERIMENTO(Q, z) return (albero C etichettato) } 16

Algoritmi di Compressione - Esempio Codici di Huffmanblu 45 blu 0 nero 13 nero

Algoritmi di Compressione - Esempio Codici di Huffmanblu 45 blu 0 nero 13 nero 100 bianco 12 bianco 101 rosa 16 rosa 110 giallo 9 giallo 1110 verde 5 verde 1111 0 blu: 45 0 nero: 13 0 h: 25 bian: 12 1 l: 55 0 rosa: 16 giallo: 9 0 i: 30 g: 14 verde: 5 m: 100 1 1 17

Algoritmi di Compressione - Esempio Codici di Huffman. Tasso di compressione : Data DI

Algoritmi di Compressione - Esempio Codici di Huffman. Tasso di compressione : Data DI la dimensione della immagine originale e DC la dimensione della immagine compressa; si definisce Tasso di Compressione (T), la quantità : T = 1 -(DC /DI) Il Tasso di Compressione espresso in percentuale sarà definito come: T%= T 100 T blu 45 blu 0 nero 13 nero 100 bianco 12 bianco 101 rosa 16 rosa 110 giallo 9 giallo 1110 verde 5 verde 1111 Codifica originale 300 bit (3 bit per 100 pixel) Codifica compressione 224 bit Tasso di compressione 1 -(224/300)=0. 2533 Tasso di compressione in % 25. 33% 18

Algoritmi di Compressione - Compressione Run Lenght Encode - ¨ Codifica molto semplice e

Algoritmi di Compressione - Compressione Run Lenght Encode - ¨ Codifica molto semplice e rapida a scapito di risultati non troppo soddisfacenti; ¨ Il suo utilizzo è presente, come opzione, per il formato Bitmap della Microsoft in due versioni RLE 4 (per immagini a 16 colori) e RLE 8 (per immagini a 256 colori) e come parte complementare in alcuni processi di compressione ¨ Le informazioni sui pixel presenti nella immagine giacciono in due celle (chuncks) di un byte ciascuna. Il primo di questi specifica il numero di pixel consecutivi che hanno lo stesso colore, il secondo byte definisce il colore/valore. Se il primo byte che si incontra è uno zero allora il secondo definisce un determinato codice. 19

Algoritmi di Compressione - Esempio Compressione Run Lenght Encode Chuncks Descrizione RL 4 n

Algoritmi di Compressione - Esempio Compressione Run Lenght Encode Chuncks Descrizione RL 4 n c >0 valore Devono essere scritti n pixel, seguendo la specifica della corretta disposizione (dapprima parte alta: 4 bit più significativi poi la parte bassa: 4 bit meno significativi). Se metà valore si ripete, risulteranno n pixel di colore c 0 0 Fine linea 0 1 Fine File Bitmap 0 3 I prossimi c 4 -bit saranno letti come singoli colori pixel, proprio come se il file non fosse compresso. Input Compressione RL 4 0404 04 -04 06060 05 -06 4 F 3 A 00 -04 -4 F-3 A 1 E 1 E 1 09 -1 E 333333 06 -33 (ogni valore 4 bit) 20

Algoritmi di Compressione - Compressione Mediante Dizionari LZ 1 LZ 2 Le occorrenze, successiva

Algoritmi di Compressione - Compressione Mediante Dizionari LZ 1 LZ 2 Le occorrenze, successiva alla prima, Si costruisce un elenco delle stringhe vengono sostituite con un puntatore che sono state rilevate (dizionario) e si definito dalla coppia distanza, lunghezza sostituiscono le ricorrenze con l’indice ad esse associato 21

Algoritmi di Compressione - Compressione Joint Photographic Expert Group - ¨ Codifica con perdita

Algoritmi di Compressione - Compressione Joint Photographic Expert Group - ¨ Codifica con perdita di informazione di tipo entropica con complessità (O(nlogn)); ¨ Si è imposto come standard de facto nella rete Internet; ¨ L’immagine originale viene sottoposta a diversi algoritmi. Descriviamo alcuni passi fondamentali: ¨ Per ogni canale YUV vi sarà una suddivisione in blocchi 8 x 8; ¨ Per ogni blocco si calcola la matrice dei coefficienti mediante la Trasformata Discreta dei Coseni (DTC); DTC ¨ Si effettua il Differential Pulse Code Modulation (DPCM), DPCM nella quale si codificano le differenze tra i blocchi 8 x 8 e, contemporaneamente, si effettua una codifica RLE; RLE ¨ I codici, che si ottengono, vengono ulteriormente compressi con un codifica di Huffman 22

Algoritmi di Compressione - Compressione JPEG - JPEG 23

Algoritmi di Compressione - Compressione JPEG - JPEG 23

Appunti sulla Compressione - Conclusioni Teoria dell’informazione Compressione Testo Audio Immagini Video Tecniche: lossy/lossless

Appunti sulla Compressione - Conclusioni Teoria dell’informazione Compressione Testo Audio Immagini Video Tecniche: lossy/lossless Algoritmi entropici: codici di Huffman Algoritmi mediante dizionari: RLE LZ 1 LZ 2 24