Introduzione alla codifica entropica
|
|
|
- Italo Scognamiglio
- 9 anni fa
- Просмотров:
Транскрипт
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
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 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
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 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
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
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
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 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 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.
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 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 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 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 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 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 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
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)
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 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 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
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
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 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 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
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 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 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 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 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 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 Codifica dati e istruzioni Per scrivere un programma è necessario rappresentare istruzioni
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 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 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 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
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 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 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
Tipi di informazione 11111111111111111111111 111111111111111111111111111 111111111111111111111111111 111111111111111111111111111 1111111111111111111111111 11111111111111111111111111 11111111111111111111111
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
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 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
00010010101001110101010100010110101000011100010111 00010010101001110101010100010110101000011100010111 La codifica 00010010101001110101010100010110101000011100010111 dell informazione 00010010101001110101010100010110101000011100010111
