Introduzione alla codifica entropica

Размер: px
Начинать показ со страницы:

Download "Introduzione alla codifica entropica"

Транскрипт

1 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 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

2 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 = DIE

3 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 = verde giallo 0 0 = blu. a lunghezza variabile 2. decodificabile 3. ottimo 9 DIE

4 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

5 Codice di Huffman (5) Prestazioni Codice di Huffman (7) Quanti bit per matita uso col codice appena costruito? P(c)L (c) = =.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

6 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 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

Teoria dell informazione

Teoria dell informazione Corso di Laurea a Distanza in Ingegneria Elettrica Corso di Comunicazioni Elettriche Teoria dell informazione A.A. 2008-09 Alberto Perotti DELEN-DAUIN Modello di sistema di comunicazione Il modello di

Подробнее

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 /

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 / Codifica di Huffman e Lempel-Ziv-Welch 1 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 2 0 1 0 / 2 0 1 1 Tipi di compressione Senza perdita (lossless): permettono di ricostruire perfettamente

Подробнее

La codifica di sorgente

La codifica di sorgente Tecn_prog_sist_inform Gerboni Roberta è la rappresentazione efficiente dei dati generati da una sorgente discreta al fine poi di trasmetterli su di un opportuno canale privo di rumore. La codifica di canale

Подробнее

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

Indice. A Riassunto formule principali sulla Teoria dell Informazione per sorgenti135 Indice 8 Teoria dell Informazione per sorgenti 123 8.1 Introduzione.................................... 123 8.2 Codifica di sorgente............................... 123 8.2.1 Classificazione tecniche di

Подробнее

Tecniche di compressione senza perdita

Tecniche di compressione senza perdita FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Tecniche di compressione senza perdita 2000 Pier Luca Montessoro (si veda la nota di copyright

Подробнее

Codifica dell Informazione

Codifica dell Informazione Introduzione all Informatica Fabrizio Angiulli Codifica dell Informazione CODIFICA DI DATI E ISTRUZIONI Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare dati

Подробнее

Codifica dell Informazione

Codifica dell Informazione Francesco Folino CODIFICA DI DATI E ISTRUZIONI Algoritmi Istruzioni che operano su dati Per scrivere un programma è necessario rappresentare dati e istruzioni in un formato tale che l esecutore automatico

Подробнее

Programmazione Greedy I codici di Huffman

Programmazione Greedy I codici di Huffman Programmazione Greedy I codici di Huffman Codifica dell informazione La rappresentazione ordinaria dell informazione prevede l impiego di un numero costante di bit; per esempio ad ogni carattere del codice

Подробнее

TEORIA DELL INFORMAZIONE ED ENTROPIA FEDERICO MARINI

TEORIA DELL INFORMAZIONE ED ENTROPIA FEDERICO MARINI TEORIA DELL INFORMAZIONE ED ENTROPIA DI FEDERICO MARINI 1 OBIETTIVO DELLA TEORIA DELL INFORMAZIONE Dato un messaggio prodotto da una sorgente, l OBIETTIVO è capire come si deve rappresentare tale messaggio

Подробнее

2) Codici univocamente decifrabili e codici a prefisso.

2) Codici univocamente decifrabili e codici a prefisso. Argomenti della Lezione ) Codici di sorgente 2) Codici univocamente decifrabili e codici a prefisso. 3) Disuguaglianza di Kraft 4) Primo Teorema di Shannon 5) Codifica di Huffman Codifica di sorgente Il

Подробнее

L'Informazione e la sua Codifica. Maurizio Palesi

L'Informazione e la sua Codifica. Maurizio Palesi L'Informazione e la sua Codifica Maurizio Palesi 1 Obiettivo Il calcolatore è una macchina digitale Il suo linguaggio è composto da due soli simboli Gli esseri umani sono abituati a comunicare utlizzando

Подробнее

L informazione numerica

L informazione numerica L informazione numerica Sorgenti di informazione Abbiamo esaminato delle sorgenti di informazione analogiche (audio, video). Abbiamo visto come trasmetterle a distanza per mezzo di sistemi analogici. Come

Подробнее

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

Compressione dei dati. Appunti di Sistemi A cura del prof. Ing. Mario Catalano Compressione dei dati Appunti di Sistemi A cura del prof. Ing. Mario Catalano Compressione di dati Cosa significa comprimere i dati? Eliminare l'informazione ridondante, in modo da poter rappresentare

Подробнее

1.2d: La codifica Digitale dei caratteri

1.2d: La codifica Digitale dei caratteri 1.2d: La codifica Digitale dei caratteri 2 12 ott 2011 Bibliografia Curtin, 3.6 (vecchie edizioni) Curtin, 2.5 (nuova edizione) CR pag. 9-14 Questi lucidi 3 12 ott 2011 La codifica dei caratteri Un testo

Подробнее

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Подробнее

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

Entropia. Motivazione. ? Quant è l informazione portata dalla sequenza? Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... Entropia Motivazione Abbiamo una sequenza S di N simboli (campioni audio, pixel, caratteri,... ) s,s 2,s 3,... ognuno dei quali appartiene ad un alfabeto A di M elementi.? Quant è l informazione portata

Подробнее

Soluzioni di Esercizi di Esame di Segnali Aleatori per Telecomunicazioni

Soluzioni di Esercizi di Esame di Segnali Aleatori per Telecomunicazioni Corso di Laurea in Ingegneria Informatica corso di Telecomunicazioni (Prof. G. Giunta) (editing a cura dell ing. F. Benedetto) Soluzioni di Esercizi di Esame di Segnali Aleatori per Telecomunicazioni Esame

Подробнее

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

INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 8-17) Università degli Studi di Padova Corso di Laurea Specialistica in Bioingegneria A.A. 2006-2007 2007 INFORMATICA SANITARIA Domande ed Esercizi di Preparazione all Esame (Parti 8-17) Giovanni Sparacino Dipartimento

Подробнее

L'Informazione e la sua Codifica. Maurizio Palesi

L'Informazione e la sua Codifica. Maurizio Palesi L'Informazione e la sua Codifica Maurizio Palesi 1 L Informatica Cos è l Informatica? Studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria, analisi, progetto,

Подробнее

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Rappresentazione binaria Tutta l informazione interna ad un computer è codificata con sequenze di due soli simboli : 0 e 1 L unità elementare di informazione si chiama bit

Подробнее

Somma di numeri binari

Somma di numeri binari Fondamenti di Informatica: Codifica Binaria dell Informazione 1 Somma di numeri binari 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 10 Esempio: 10011011 + 00101011 = 11000110 in base e una base Fondamenti di

Подробнее

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

Segnale analogico. Analogico vs digitale. Segnale digitale. Trasformazione da analogico a digitale LEZIONI 2 e 3 Rappresentazione dell informazione 53 Analogico vs digitale LEZIONI 2 e 3 Rappresentazione dell informazione 54 Segnale analogico Il computer può lavorare soltanto con grandezze di tipo digitale

Подробнее

La codifica binaria. Informatica B. Daniele Loiacono

La codifica binaria. Informatica B. Daniele Loiacono La codifica binaria Informatica B Introduzione Il calcolatore usa internamente una codifica binaria ( e ) per rappresentare: i dati da elaborare le istruzioni dei programmi eseguibili Fondamenti di codifica

Подробнее

La codifica del testo

La codifica del testo La codifica delle informazioni Informatica e sistemi di elaborazione delle informazioni La codifica delle informazioni Informatica e sistemi di elaborazione delle informazioni I slide Informatica e sistemi

Подробнее

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

Pag. 1. La Rappresentazione e la Codifica delle informazioni (parte 2) Tipi di dati. Informatica Facoltà di Medicina Veterinaria 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Tipi di dati Informatica Facoltà di Medicina Veterinaria La Rappresentazione e la Codifica delle

Подробнее

TECNICHE DI COMPRESSIONE DATI

TECNICHE DI COMPRESSIONE DATI TECNICHE DI COMPRESSIONE DATI COMPRESSIONE DATI La compressione produce una rappresentazione più compatta delle informazioni è come se si usassero meno parole per dire la stessa cosa in modo diverso. Esistono

Подробнее

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono La codifica binaria Fondamenti di Informatica Introduzione q Il calcolatore usa internamente una codifica binaria (0 e 1) per rappresentare: i dati da elaborare (numeri, testi, immagini, suoni, ) le istruzioni

Подробнее

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Descrizione delle operazioni di calcolo. Espressioni costanti semplici Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette

Подробнее

Software di compressione

Software di compressione Software di compressione di Giulia Giacon 1 Di cosa stiamo parlando? Si tratta di software applicativi in grado di comprimere e di decomprimere un file. 1. La quantità di bit necessari alla rappresentazione

Подробнее

La rappresentazione delle informazioni in un computer. La numerazione binaria

La rappresentazione delle informazioni in un computer. La numerazione binaria La rappresentazione delle informazioni in un computer La numerazione binaria Per comprendere la numerazione binaria dobbiamo prima discutere di alcune caratteristiche della numerazione decimale La numerazione

Подробнее

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

LA CODIFICA DELL INFORMAZIONE. Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 LA CODIFICA DELL INFORMAZIONE Introduzione ai sistemi informatici D. Sciuto, G. Buonanno, L. Mari, McGraw-Hill Cap.2 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni

Подробнее

Comunicazioni Elettriche Esercizi

Comunicazioni Elettriche Esercizi Comunicazioni Elettriche Esercizi Alberto Perotti 9 giugno 008 Esercizio 1 Un processo casuale Gaussiano caratterizzato dai parametri (µ = 0, σ = 0.5) ha spettro nullo al di fuori dellintervallo f [1.5kHz,

Подробнее

Note sull implementazione in virgola fissa di filtri numerici

Note sull implementazione in virgola fissa di filtri numerici Note sull implementazione in virgola fissa di filtri numerici 4 settembre 2006 1 Introduction Nonostante al giorno d oggi i processori con aritmetica in virgola mobili siano molto comuni, esistono contesti

Подробнее

La Rappresentazione dell Informazione

La Rappresentazione dell Informazione La Rappresentazione dell Informazione Parte III I codici Codici a.a. 27-28 Un codice è una funzione che associa ad una sequenza di simboli un significato Codice : {entità} {sequenze di simboli} Un codice

Подробнее

Codifica delle Informazioni

Codifica delle Informazioni Codifica delle Informazioni Luca Bortolussi Dipartimento di Matematica e Informatica Università degli studi di Trieste Panoramica Le informazioni gestite dai sistemi di elaborazione devono essere codificate

Подробнее

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo [email protected], [email protected] Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Подробнее

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

Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Un ripasso di aritmetica: Conversione dalla base 10 alla base 2 Dato un numero N rappresentato in base dieci, la sua rappresentazione in base due sarà del tipo: c m c m-1... c 1 c 0 (le c i sono cifre

Подробнее

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

Compressione dati. Capitolo 11. Leonora Bianchi IDSIA-DTI-SUPSI Leonora Bianchi Compressione dati Capitolo 11 IDSIA-DTI-SUPSI 1 La compressione è ovunque! Nelle reti di computer: compressione pacchetti inviati file di backup FAX N.B.: trasmettere qui è sinonimo di comprimere 2 Indice

Подробнее

La codifica. dell informazione. Tipi di informazione

La codifica. dell informazione. Tipi di informazione Tipi di informazione 11111111111111111111111 111111111111111111111111111 111111111111111111111111111 111111111111111111111111111 1111111111111111111111111 11111111111111111111111111 11111111111111111111111

Подробнее

CONOSCERE IL LINGUAGGIO DEL COMPUTER

CONOSCERE IL LINGUAGGIO DEL COMPUTER CONOSCERE IL LINGUAGGIO DEL COMPUTER Noi dobbiamo imparare a COMUNICARE con il PC per questo è fondamentale conoscerne il LINGUAGGIO. I linguaggi per comunicare sono molti; c è quello verbale, quello corporeo,

Подробнее

CODIFICA IMMAGINI IN BIANCO E NERO

CODIFICA IMMAGINI IN BIANCO E NERO Rappresentazione delle immagini Anche le immagini possono essere codificate mediante una sequenza di 0 e 1., questa operazione si chiama digitalizzazione. La prima cosa da fare è dividere l immagine in

Подробнее

Elementi di informatica

Elementi di informatica Elementi di informatica problema della rappresentazione dei valori delle informazioni la rappresentazione deve essere effettuata attraverso un insieme finito di simboli disponibili il numero di simboli

Подробнее

La codifica. dell informazione

La codifica. dell informazione 00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111

Подробнее