Informazione binaria: Codici per la rilevazione e correzione di errori Codici di compressione

Documenti analoghi
Informazione binaria: Codici per la rilevazione e correzione di errori

Informazione binaria:

La codifica binaria: concetti fondamentali

Informazione binaria: - rappresentazione di valori logici -

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi -

Informazione binaria: - codici binari, notazione binaria/ottale/esadecimale -

Laboratorio Informatico di Base. Concetti di base sull informatica

Informazione binaria: - rappresentazione dei numeri razionali -

Codifica binaria: - numeri interi relativi -

Codici rivelatori e correttori

Informazione binaria: suoni, immagini, sequenze video

Numeri interi. Laboratorio di Calcolo Paola Gallo

Codifica binaria: - valori logici e algebra di Boole -

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

La Rappresentazione dell Informazione

Tutti i dispositivi di un elaboratore sono realizzati con tecnologia digitale

La codifica dell informazione

La Rappresentazione Dell Informazione

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

Architettura di un elaboratore. Informatica Architettura di un elaboratore 1

OHLQIRUPD]LRQLQRQQXPHULFKH

Codifica binaria: - numeri razionali -

Analogico vs digitale

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

Codifica dell informazione

La codifica. dell informazione

La codifica binaria. Informatica B. Daniele Loiacono

Codifica dell Informazione

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

Codifica dell Informazione

Capitolo 1. Salvataggio dei dati. Prof. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

La codifica di sorgente

24 gennaio 2011 NOME: COGNOME: MATR:

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

Informazione binaria - considerazioni finali -

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Il concetto di informazione. Supporto e informazione

Rappresentazione dell'informazione

La rappresentazione. Rappresentazione dell Informazione. Il bit. Codifica delle informazioni. Molti oggetti hanno comunemente più rappresentazioni

La codifica binaria. Fondamenti di Informatica. Daniele Loiacono

2. Finalità generali previste dalle indicazioni nazionali

19/09/14. Il codice ASCII. Altri codici importanti. Extended ASCII. Tabella del codice ASCII a 7 bit. Prof. Daniele Gorla

Informatica, Informazione e Telecomunicazioni. La codifica dell informazione. Supporto e informazione. Il concetto di informazione

CODIFICA DI CARATTERI

CODIFICA DI CARATTERI

Rappresentazione dell Informazione

Bit, Byte, Word e Codifica Dati

Corso di Informatica

La codifica di sorgente

Parte Terza: Codificare l informazione. Fondamenti di informatica

Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Terza v1.0

La codifica. dell informazione. Codifica dei numeri. (continua) Codifica dei numeri. Codifica dei numeri: il sistema decimale

RAPPRESENTAZIONE DELLE INFORMAZIONI

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

Introduzione alla codifica entropica

L'Informazione e la sua Codifica. Maurizio Palesi

Tecnologie Multimediali a.a. 2017/2018. Docente: DOTT.SSA VALERIA FIONDA

Notazione posizionale. Codifica binaria. Rappresentazioni medianti basi diverse. Multipli del byte

Informatica. Ottali ed esadecimali. Numeri naturali binari nei calcolatori 02/03/2007. Introduzione ai sistemi informatici 1

RAPPRESENTAZIONE DELLE INFORMAZIONI

Rappresentazione binaria. Laboratorio di Informatica. Calcolatori digitali. N: numeri naturali. La codifica binaria. I primi 16 numeri binari

Università degli Studi di Cagliari Facoltà di Scienze Corso di Laurea in Matematica

Programma del corso. Rappresentazione delle Informazioni. Introduzione agli algoritmi. Architettura del calcolatore

La codifica. dell informazione

Tecnologie Multimediali a.a. 2018/2019. Docente: DOTT.SSA VALERIA FIONDA

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

Modulo informatica di base 1 Linea 2

Rappresentazione dell'informazione

Conversione binario-ottale/esadecimale. Conversione binario-ottale/esadecimale. Rappresentazione di Numeri Interi Positivi (numeri naturali)

La codifica binaria. Informatica B. Daniele Loiacono

Rappresentazione delle Informazioni

La codifica dei numeri

La Rappresentazione dell Informazione

Informazione binaria - considerazioni finali -

Rappresentazione delle Informazioni. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Informatica di Base 1 Linea 1

Introduzione alla codifica binaria

Informazione e sua rappresentazione: codifica. Il concetto di informazione

Informazione e sua rappresentazione: codifica

Lezione 2. Rappresentazione dell informazione

Prof. Massimiliano Giacomin 21 dicembre NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli

L'Informazione e la sua Codifica. Maurizio Palesi

Dipartimento di Scienze Cliniche Applicate e Biotecnologie. Scienze psicologiche applicate

Informatica per le discipline umanistiche 2

Sistemi di Elaborazione delle Informazioni

Rappresentazione dell informazione

Lezione 2. Rappresentazione dell informazione

Modulo 1. (Computer Essentials)

Somma di numeri binari

LABORATORIO DI INFORMATICA

Laboratorio di Informatica

Sistemi di Elaborazione delle Informazioni 6 CFU

Esercitazioni - Informatica A

Transcript:

Informazione binaria: Codici per la rilevazione e correzione di errori Codici di compressione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin

Tipologie di codici Nel seguito vedremo tipologie di rappresentazioni diverse: Senza assumere limitazioni sul numero di bit a disposizione: per numeri [notazione binaria, ovvero posizionale con base 2] Disponendo di un numero di bit limitato: numeri naturali interi relativi [valore assoluto e segno, complemento a due] reali [virgola fissa e virgola mobile] valori logici, caratteri alfabetici, testi suoni, immagini e sequenze video codici per la rilevazione e correzione di errori Codici di compressione (senza con perdita) Elementi di Informatica e Programmazione Università di Brescia 2

LE MAGIE DEL MAGO CASANOVA FORMARE DELLE COPPIE Il primo studente scelga una combinazione tra queste tre: 1) 0 1 0 1 0 1 0 1 0 1 2) 1 0 1 0 1 1 0 1 0 1 3) 1 0 1 0 1 0 1 0 1 0 Il secondo studente cambi 0, 1 o 2 bit della combinazione scelta dal primo studente Elementi di Informatica e Programmazione Università di Brescia 3

UN ESEMPIO: MEMORIZZAZIONE DI INFORMAZIONI Informazioni da memorizzare (ad esempio: in un CD) 0011010100 1110010100... 0010010100 Elementi di Informatica e Programmazione Università di Brescia 4

UN ESEMPIO: MEMORIZZAZIONE DI INFORMAZIONI Informazioni da memorizzare (ad esempio: in un CD) 1011010100 1111010000... 1010010100??? Elementi di Informatica e Programmazione Università di Brescia 5

UN ALTRO ESEMPIO: TRASMISSIONE DI INFORMAZIONE 0011010100 1110010100... 0010010100 1011010100 1111010000 1010010100...??? Elementi di Informatica e Programmazione Università di Brescia 6

IL PROBLEMA Errore: modifica di un bit (0 diventa 1 oppure 1 diventa 0) Posso avere uno o più errori LA SOLUZIONE Su una sequenza di bit, usare dei codici particolari che permettono: Di rivelare la presenza di errori: CODICI RILEVATORI Di correggere gli errori, ricostruendo la sequenza originaria: CODICI CORRETTORI Elementi di Informatica e Programmazione Università di Brescia 7

COME? O 8 110 O 7 O 1 011 O 3 101 100 codominio dominio O 4 O5 O 2 O 6 001 111 000 010 insieme delle codifiche 8 oggetti, 3 bit: il codice è non ridondante Impossibile rilevare né correggere errori Per rilevare o correggere errori dobbiamo introdurre della ridondanza Elementi di Informatica e Programmazione Università di Brescia 8

Codice ridondante: l insieme delle codifiche è un sottoinsieme proprio del codominio l insieme delle non codifiche è non nullo 01 O 1 O 2 00 11 insieme delle codifiche Esempio: codice ridondante a due bit dominio 10 insieme delle non-codifiche codominio Per esempio: se codifico O 1 e ho un errore (ad esempio sul primo bit) ottengo 10 rivelazione dell errore Elementi di Informatica e Programmazione Università di Brescia 9

QUANTO? Voglio un codice che, per qualunque codifica sia in grado di rilevare/correggere k errori comunque siano distribuiti Elementi di Informatica e Programmazione Università di Brescia 10

QUANTO? Voglio un codice che, per qualunque codifica sia in grado di rilevare/correggere k errori comunque siano distribuiti Esempio: un semplice codice per due entità, 5 bit Atalanta Brescia 00000 11111 Distanza tre le codifiche: 5 Elementi di Informatica e Programmazione Università di Brescia 11

QUANTO? Voglio un codice che, per qualunque codifica sia in grado di rilevare/correggere k errori comunque siano distribuiti Esempio: un semplice codice per due entità, 5 bit Atalanta Brescia 00000 11111 Distanza tre le codifiche: 5 Se ho un numero di errori k 4: riesco a rilevarli d k+1 Elementi di Informatica e Programmazione Università di Brescia 12

QUANTO? Voglio un codice che, per qualunque codifica sia in grado di rilevare/correggere k errori comunque siano distribuiti Esempio: un semplice codice per due entità, 5 bit Atalanta Brescia 00000 11111 Distanza tre le codifiche: 5 Se ho un numero di errori k 4: riesco a rilevarli d k+1 Se ho un numero di errori k 2: riesco a correggerli [es: da 00000 ottengo sequenza con d 00000 2, d 11111 3] d 2k+1 Elementi di Informatica e Programmazione Università di Brescia 13

Rilevazione: l idea k=4 d = 5 k+1 00000 11111 Fino a k errori Elementi di Informatica e Programmazione Università di Brescia 14

Correzione: l idea k=2 d = 5 2k+1 k 1 k 00000 11111 k+1 Elementi di Informatica e Programmazione Università di Brescia 15

QUANTO IN GENERALE? Distanza di un codice: minimo valore delle distanze tra ogni coppia di codifiche Rilevazione e correzione di errori Per rilevare k errori, un codice deve avere distanza d con d k+1 Per correggere k errori, un codice deve avere distanza d con d 2k+1 Elementi di Informatica e Programmazione Università di Brescia 16

Esempio di codice rilevatore: il codice di parità Dato un codice: si aggiunge un bit in modo che il numero di uni sia pari [o dispari] Esempio Codice ASCII a 7 bit Bit di parità d = 2 può rilevare un errore, correggerne nessuno Elementi di Informatica e Programmazione Università di Brescia 17

ESERCIZIO Per codificare i tre simboli D, F, I si utilizza il seguente codice a 5 bit: D 00000 F 11100 I 10011 Errori di trasmissione possono dar luogo alla modifica di uno o più bit. a) Quanti errori è in grado di rilevare il codice in generale? b) E quanti errori è in grado di correggere? Elementi di Informatica e Programmazione Università di Brescia 18

Soluzione: d 12 = 3 d 23 = 4 d 13 = 3 la distanza del codice è pari a 3 a) Errori rilevati: d e+1 quindi e max = 2 b) Errori corretti: (possono essere rilevati 2 errori) d 2e+1 quindi e max = (3-1)/2=1 (può essere corretto 1 errore) Elementi di Informatica e Programmazione Università di Brescia 19

ESERCIZIO Si consideri il codice a 3 valori originari 1 000000 2 000001 3 111111 a) Trovare quanti errori può correggere e rilevare in generale. b) Si supponga di ricevere la sequenza 001111. Assumendo che possano essere stati compiuti al più 2 errori, è possibile decodificare correttamente la sequenza? Come si giustifica la risposta in relazione al risultato trovato nel punto a)? Soluzione a) Risulta: d 12 = 1 d 23 = 5 d 13 = 6 Elementi di Informatica e Programmazione Università di Brescia 20

quindi la distanza del codice è 1 il codice non può (in generale) rivelare né tantomeno correggere alcun errore [e rivelati: d e+1, quindi con e=1 serve d 2] b) Ricevo 001111, mentre avevo: 1 000000 dist 1 = 4 001111 2 000001 dist 2 = 3 001111 3 111111 dist 3 = 2 001111 In questo caso posso decodificare 001111 con il valore 3. Se sono stati commessi al più due errori, sono sicuro che la decodifica è corretta, perché: dist 1 = 4 > 2 [000000 non può essere modificato in 001111] dist 2 = 3 > 2 [000001 non può essere modificato in 001111] Elementi di Informatica e Programmazione Università di Brescia 21

NB: Come mai posso correggere due errori anche se (cfr. punto a) il codice ha distanza 1? La distanza del codice si riferisce al caso peggiore (distanza minima) le relative formule garantiscono le proprietà del codice di rilevazione e correzione di errori in ogni caso, ovvero per qualunque simbolo rappresentato e per qualunque posizione degli errori Per esempio, nel caso venga trasmesso 1 (codificato con 000000), è sufficiente un errore sull ultimo bit per ottenere 000001, che è pari alla codifica di 2: in tal caso l errore non verrebbe neppure rivelato! Elementi di Informatica e Programmazione Università di Brescia 22

Tipologie di codici Nel seguito vedremo tipologie di rappresentazioni diverse: Senza assumere limitazioni sul numero di bit a disposizione: per numeri [notazione binaria, ovvero posizionale con base 2] Disponendo di un numero di bit limitato: numeri naturali interi relativi [valore assoluto e segno, complemento a due] reali [virgola fissa e virgola mobile] valori logici, caratteri alfabetici, testi suoni, immagini e sequenze video codici per la rilevazione e correzione di errori Codici di compressione (senza con perdita) Elementi di Informatica e Programmazione Università di Brescia 23

La compressione dei dati Cambiando modalità di codifica: ridurre il numero dei bit richiesti Vantaggi per memorizzazione e trasmissione (es: sequenze video) Concetti fondamentali validi per qualunque tecnica di compressione: data una sequenza di bit S funzione di compressione F c : F c (S) < S rapporto di compressione: S / F c (S) (NB: > 1) funzione di decompressione F d : per ricostruire la successione originaria: F d (F c (S)) Due tipi di compressione dei dati: senza perdita (lossless) è garantito che F d (F c (S)) = S, ovvero F d =F c -1 con perdita (lossy) in generale F d (F c (S)) S (perdita di informazione) Elementi di Informatica e Programmazione Università di Brescia 24

Algoritmi di compressione dati senza perdita Si adottano quando non si può perdere informazione, es. programmi in formato eseguibile, file doc Svantaggio: ridotto rapporto di compressione Principio fondamentale: sottosequenze di bit frequenti sostituite con codici opportuni Esempi: formati ZIP e RAR (con un apposito programma di utilità - es. winzip - si può creare un archivio in cui i file vengono memorizzati in formato compresso) formato GIF (per le immagini raster): utilizzo di un dizionario con le configurazioni di valori che si ripetono Elementi di Informatica e Programmazione Università di Brescia 25

Algoritmi di compressione dati con perdita Si applicano a dati che hanno origine nel mondo analogico (suoni, immagini, sequenze video, ecc.) Si adottano quando si è disposti a perdere una parte dell informazione durante la compressione: compromesso qualità-rapporto di compressione Tecniche dipendenti dalla natura del segnale considerato: per i suoni, variazioni di volume e frequenza al di sotto di una certa soglia non sono percepite dall orecchio umano + suoni a basso volume sovrapposti a suoni di volume maggiore sono poco udibili (MP3) per le immagini, lievi cambiamenti di colore in punti contigui non sono percepiti dall occhio umano (JPEG) nelle animazioni video, immagini successive hanno spesso molte parti uguali (uso di vettori di moto) e nel dominio delle frequenze l occhio umano non è sensibile in modo uniforme (MPEG) Elementi di Informatica e Programmazione Università di Brescia 26