Introduzione alla codifica entropica

Documenti analoghi
Teoria dell informazione

Unità 30. Sommario. Bibliografia. Auto-informazione di un evento Auto-informazione di un esperimento aleatorio Esempi. [Bel] -- [Ros] 9.

Codifica di Huffman e Lempel-Ziv-Welch A L B E R T O B E L U S S I A N N O A C C A D E M I C O /

carattere a b c d e f cod. var

La codifica di sorgente

Indice. A Riassunto formule principali sulla Teoria dell Informazione per sorgenti135

Lunghezza media. Teorema Codice D-ario prefisso per v.c. X soddisfa. L H D (X). Uguaglianza vale sse D l i. = p i. . p.1/27

1 Esercizio - caso particolare di ottimalità

Def. La lunghezza media L(C) di un codice C per una v.c. Obiettivo: Codice ottimo rispetto alla lunghezza media. Lunghezza media di un codice

Compressione Dati. Teorema codifica sorgente: Entropia fornisce un limite sia inferiore che superiore al numero di bit per simbolo sorgente.. p.

Tecniche di compressione senza perdita

UNIVERSITÀ DEGLI STUDI DI TRIESTE

CODIFICA DI CARATTERI

CODIFICA DI SORGENTE. Schematizzazione generale sistema di comunicazione

Codifica dell Informazione

Codifica delle sequenze sorgente

Sistemi di Elaborazione delle Informazioni 6 CFU

..., x M. : codice o sequenza di bit che rappresentano il messaggio x i ; n i : lunghezza in bit del codice C X i

Lezione 4 Ugo Vaccaro

Sistemi di Elaborazione delle Informazioni 6 CFU

Sommario. Lempel-Ziv coding e varianti Run-length encoding. 1 Introduzione. 2 Codifica mediante predittori (Lossless JPEG, PNG, ecc.

Codifica dell Informazione

Programmazione Greedy I codici di Huffman

TEORIA DELL INFORMAZIONE ED ENTROPIA FEDERICO MARINI

2) Codici univocamente decifrabili e codici a prefisso.

L'Informazione e la sua Codifica. Maurizio Palesi

L informazione numerica

Compressione dei dati. Appunti di Sistemi A cura del prof. Ing. Mario Catalano

1.2d: La codifica Digitale dei caratteri

Informazione e sua rappresentazione: codifica

La codifica digitale

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,...

Informatica di Base 1 Linea 1

1 Entropia: Riepilogo

Informazione e sua rappresentazione: codifica

Soluzioni di Esercizi di Esame di Segnali Aleatori per Telecomunicazioni

L algoritmo di decodifica è semplice e computazionalmente meno oneroso rispetto a quello di codifica.

Codifica dell informazione

CODIFICA DI CARATTERI

Definizioni. Soluzione ottima: migliore soluzione possibile Soluzione ottima localmente: soluzione ottima in un dominio contiguo. Il paradigma greedy

Rappresentazione digitale delle informazioni

STII/Teoria dell Informazione

INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 8-17)

Elaborazione dell informazione. Elaborazione dell informazione. Rappresentazione dei numeri INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Compressione di dati: testi, immagini, suoni e video. B. Cipolla

Modulo 1: Le I.C.T. UD 1.3a: La Codifica Digitale delle Immagini

La compressione video. Analis i in multiris oluzione Wavelet La compres s ione di immag ini C ompres s ione JPEG S tandard MPEG

L'Informazione e la sua Codifica. Maurizio Palesi

La codifica dell informazione. Rappresentazione binaria. Rappresentazione posizionale in base 10

La codifica dell informazione

Informazione e sua rappresentazione: codifica

Somma di numeri binari

Compressione di dati: testi, immagini, suoni e video. B. Cipolla

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale

Codici. Introduzione. Sia A un insieme finito di simboli e C=A n l insieme di tutte le parole composte da n simboli di A

Informatica di Base - 6 c.f.u.

La codifica binaria. Informatica B. Daniele Loiacono

Rappresentazione dell'informazione

Numeri interi. Laboratorio di Calcolo Paola Gallo

Abbiamo visto nella lezione precedente che le immagini possono essere compresse in vari modi, per ridurne l'occupazione di memoria (su disco o rete)

Rappresentazione di immagini a colori. Rappresentazione dei colori. Rappresentazione dei colori LA RAPPRESENTAZIONE DELL INFORMAZIONE - II

La codifica del testo

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria

TECNICHE DI COMPRESSIONE DATI

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Rappresentazione delle informazioni LA RAPPRESENTAZIONE DELLE INFORMAZIONI. Grandezze digitali. Grandezze analogiche

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Software di compressione

Fondamenti di Informatica

Esame di Informatica. Facoltà di Scienze Motorie LE UNITA DI MISURA (1/4) LE UNITA DI MISURA (3/4) LE UNITA DI MISURA (2/4) Lezione 2

La rappresentazione delle informazioni in un computer. La numerazione binaria

Esistono delle trasformazioni standard fra i diversi formati che abbiamo discusso

Per approfondire: La rappresentazione delle informazioni all interno dei computer

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2

Codifica binaria dell informazione

Esercitazione 4 Algoritmi greedy

Suono digitale. Ø Un secondo di musica stereo richiede 44'100 campioni di 16 bit (2 byte) ciascuno per due canali, quindi 176'400 byte.

Sorgenti discrete e informazione

Comunicazioni Elettriche Esercizi

La codifica. dell informazione

Note sull implementazione in virgola fissa di filtri numerici

STII. Probabilità e proprietà dei logaritmi

Indice. 1 Introduzione 2. 2 Algoritmo di compressione LZ78 3

La Rappresentazione dell Informazione

Introduzione alla Compressione dei Dati

Compressione dell Informazione (Parte I) Marco Gori

INFORMATICA GENERALE E BASI DI DATI PER ARCHIVI AUDIOVISIVI (PRIMO MODULO) Claudio Piciarelli A.A. 2013/2014

Codifica delle Informazioni

Codifiche a lunghezza variabile

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2

Compressione dati. Capitolo 11. Leonora Bianchi IDSIA-DTI-SUPSI Leonora Bianchi

Fondamenti di Informatica

La codifica. dell informazione. Tipi di informazione

CONOSCERE IL LINGUAGGIO DEL COMPUTER

Le immagini digitali. Grafica. Due approcci alla modellazione grafica

CODIFICA IMMAGINI IN BIANCO E NERO

Costruzione del File Diretto

Elementi di informatica

La codifica. dell informazione

Transcript:

Compressione senza perdite Il problema Introduzione alla codifica entropica Abbiamo un alfabeto di simboli A (nota: non è detto che gli elementi di A siano numeri) Sappiamo che il simbolo a A si presenta con probabilità P(a) Vogliamo trasmettere a usando il minor numero possibile di bit 2 DIE Compressione dati: classificazione Compressione senza perdite (lossless) I dati ricostruiti sono esattamente uguali ai dati originali Usata per quei dati che non tollerano errori (programmi, documenti, database, ecc... ) Esempio: zip, gzip, ecc... Compressione: esempio introduttivo Supponiamo di avere una sequenza di matite colorate e di voler trasmettere l informazione di colore 00000 0000... giallo verde... Compressione con perdite (lossy) Raggiunge compressioni più elevate permettendo lievi differenze tra i dati originali e i dati ricostruiti Usata principalmente con dati che hanno la natura di segnali (immagini, audio, video, ecc... ) Esempi: JPEG, MPEG, H264, AC3, ecc... 3 DIE

Compressione: esempio introduttivo (2) Compressione: esempio introduttivo (4) Supponiamo che siano possibili solo quattro colori:, verde, giallo e blu La probabilità di trovare una matita con un certo colore è Colore Prob. /2 giallo /4 verde /8 blu /8 Colori diversi capitano con frequenze diverse Assegnamo parole binarie corte a simboli più frequenti Primo tentativo Colore Prob. parola /2 0 giallo /4 verde /8 0 blu /8 4 6 DIE Compressione: esempio introduttivo (3) Come posso trasmettere l informazione di colore? Una prima soluzione potrebbe essere di codificare ogni colore usando 2 bit, per esempio 00 giallo 0 verde 0 blu Questa soluzione richiede 2 bit per matita Si può fare di meglio? Compressione: esempio introduttivo (5) Q: Quanti bit per matita usiamo in media? Su N matite ci sono circa NP(c) matite di colore c Se al colore c è associata una parola di L (c) bit, il numero di bit totali è Il numero di bit per matita è N NP(c)L (c) = NP(c)L (c) P(c)L (c) = /2 + /4 + /8 2 + /8 2 =.25 5 7 DIE

Compressione: esempio introduttivo (6) Che bello! Compressione: esempio introduttivo (8) Codici a lunghezza variabile Q: Da cosa nasce il problema? Usando il codice visto prima risparmiamo 3/4 di bit per matita ma... Con i codici a lunghezza fissa (es. ASCII) ad ogni simbolo corrisponde una stringa di lunghezza fissa (es. 8 bit) è facile capire quando inizia/finisce la parola associata ad un simbolo Con un codice a lunghezza variabile può capitare che la stessa stringa di bit possa essere partizionata in più modi se questo accade il codice è non decodificabile 8 0 DIE Compressione: esempio introduttivo (7) La stringa di bit corrispondente alla sequenza, verde, giallo è 0 0 Purtroppo la stessa stringa corrisponde anche alla sequenza, blu (0 0 ) Il codice è ambiguo! Compressione: esempio introduttivo (9) Il problema? Come facciamo a costruire un codice 00 0 0 = verde giallo 0 0 = blu. a lunghezza variabile 2. decodificabile 3. ottimo 9 DIE

Codice di Huffman Idea di base... Codice di Huffman (3) Se l alfabeto ha due elementi la costruzione del codice è banale: assegno 0 ad un elemento e all altro Proviamo a ridurre il problema di costruire un codice per un alfabeto con N elementi al problema di costruire un codice per N elementi In questo modo, rosicchiando un elemento alla volta, possiamo trasformare il problema originale nel problema banale visto prima. Per completare il codice mi rimane da scegliere W 0, W e W 2 Considero il nuovo alfabeto A = {,giallo,{v,b}} Il nuovo simbolo {V,B} ha probabilità /8 + /8 = /4 Ora devo trovare il codice per un alfabeto di tre elementi 2 4 DIE Codice di Huffman (2) Codice di Huffman (4) Iterando la procedura appena vista si arriva a Il verde e il blu sono i meno probabili codifichiamoli con due parole che differiscono solo per l ultimo bit W 0 W W 2 {V,B} 0 Rosso Giallo Verde Blu 0 Rosso {G,V,B} 0 Giallo 0 Verde {V,B} Blu Come si decodifica? Camminando sull albero! Colore 0 giallo 0 verde 0 blu parola 3 5 DIE

Codice di Huffman (5) Prestazioni Codice di Huffman (7) Quanti bit per matita uso col codice appena costruito? P(c)L (c) = 2 + 4 2 + 8 3 + 8 3 =.75 Risparmiamo /4 di bit per matita Costruzione di un codice di Huffman:. Si scelgono i due simboli meno probabili 2. Si crea un padre per i due simboli selezionati 3. Si itera fino ad avere un alfabeto con due elementi 6 8 DIE Codice di Huffman (6) Codice a prefisso Il codice ottenuto è tale che nessuna parola di codice è prefisso di un altra parola di codice Abbiamo un codice a prefisso Ogni codice a prefisso può essere descritto da un albero e decodificato camminando sull albero stesso Codice di Huffman (8) Prestazioni Nell esempio al colore c era associata una parola di codice di lunghezza log 2 P(c) e il numero di bit per matita era P(c)log 2 P(c) In generale, si dimostra, il codice di Huffman è ottimo e richiede L bit per simbolo con dove è l entropia di c H(C) L H(C) + H(C) = P(c)log 2 P(c) 7 9 DIE

Entropia Entropia: Proprieta (2) L entropia di una variabile aleatoria misura la quantità di informazione legata alla variabile aleatoria L entropia assume il valore massimo se c è uniformemente distribuita P(c) = / A Non è possibile codificare c usando un numero di bit per simbolo inferiore a H(C) In questo caso H(C) = log 2 ( A ) Nota: se P(c) = 0 si pone P(c)log 2 P(c) = 0. In generale, quanto più sbilanciata è la distribuzione, tanto più piccola è l entropia 20 22 DIE Entropia: Proprieta Se esiste c 0 tale che P(c 0 ) =, allora H(C) = 0 In altre parole: se c assume sempre lo stesso valore non devo spendere bit per trasmetterlo 2