L’informazione e la sua codifica Prof. Maurizio Naldi A.A. 2015/16 Informazione e dati • L'informazione permette in una situazione in cui si hanno almeno due occorrenze possibili di superare un'incertezza e risolvere un'alternativa, sostituendo il noto all'ignoto, il certo all'incerto. • Un dato (dal latino datum che significa letteralmente “fatto”) è una descrizione elementare, spesso codificata, di una cosa, di una transazione, di un avvenimento o di altro. Immagazzinamento e trasferimenti dei dati • Il dato è “portato da” o “trasmesso su” o “memorizzato in” o “contenuto in” qualcosa: – Questo “qualcosa” (supporto fisico) NON è il dato stesso (il dato richiede un supporto fisico, ma non coincide con esso) • Ogni supporto fisico ha le sue caratteristiche in quanto supporto per i dati – Alcuni supporti sono particolarmente adatti alla trasmissione dei dati, ma non alla loro memorizzazione (cavi, etere, …) – Per altri supporti vale il viceversa (CD, DVD, …) Dato e codifica In generale, si può chiamare codifica l’operazione con cui il dato viene scritto su un supporto fisico e decodifica l’operazione con cui il dato viene letto da un supporto fisico Bit e Byte • BIT: elemento atomico (binario) che codifica un dato corrispondente ai valori logici “Falso” o “Vero”: può essere rappresentato da un dispositivo che assume due stati • BYTE: combinazione di 8 bit. Può rappresentare un carattere (lettera, numero o simbolo tipografico) tra 2*2*...*2 = 28 = 256 diversi Notazione binaria (posizionale pesata) Numeri binari Codifica binaria • Alfabeto – 2 simboli: {0, 1}, {off, on} • Quanti oggetti posso codificare con k bit? – 1 bit ? (0, 1) ? 2 oggetti – 2 bit ? (00, 01, 10, 11) ? 4 oggetti – 3 bit ? (000, 001, 010, …, 111) ? 8 oggetti – … – k bit (...) 2k oggetti • Quanti bit mi servono per codificare N oggetti? – N ≤ 2K K ≥ log2N ⌈ K = log2 N ⌉ ASCII American Standard Code for Information Interchange (Extended) Tabella ricavata digitando Alt + numero decimale (nel tastierino numerico). I caratteri evidenziati nella cornice possono risultare differenti a seconda dell’applicazione software utilizzata. Diffuse codifiche più estese (es. UNICODE) per rappresentare anche le lingue orientali Scala delle dimensioni Analogico e digitale Usa grandezze variabili con continuità (l’angolo formato dalle lancette con un riferimento fisso). Più difficile essere precisi quando si legge l’ora Usa una sequenza finita di simboli appartenente ad un insieme finito (spesso un insieme di cifre, ad esempio quelle decimali). Più facile essere precisi. Origine e trasformazione dell’informazione Sorgenti dell’informazione • Sorgenti acustiche • Sorgenti visive • Dati alfanumerici Forma del segnale per la trasmissione su lunghe distanze • Segnali elettromagnetici • Segnali ottici Trasformazione della natura del segnale = Trasduzione • Microfoni • Telecamere Esempio di forma d’onda La conversione analogico-digitale Campionamento e quantizzazione • Gli elaboratori elettronici hanno natura discreta, ovvero ogni grandezza in gioco può essere rappresentata soltanto da un numero finito di elementi. • Per essere elaborati da un calcolatore, segnali analogici (intrinsecamente continui) quali suoni, immagini, video ecc., devono essere discretizzati (digitalizzati) attraverso operazioni di campionamento e quantizzazione (conversione analogicodigitale). • Parametri della procedura – Frequenza di campionamento, misurata in hertz (Hz) – Risoluzione = numero di bit utilizzati per la quantizzazione Campionamento ampiezza segnale continuo tempo ampiezza segnale campionato tempo (discreto) • Il segnale continuo viene misurato (“campionato”) ad intervalli di tempo regolari t (t = intervallo di campionamento). • Il segnale risultante è un insieme finito di punti equidistanti nel tempo. Tuttavia le ampiezze devono essere ancora approssimate ad intervalli discreti, ovvero quantizzate. • Si noti che campionamento e quantizzazione comportano una perdita di informazione. Il segnale analogico originale non può essere recuperato esattamente Quantizzazione Ampiezza (discreta e codificata) 111 110 segnale quantizzato 101 Codifica a 3 bit 100 011 010 001 000 Tempo (discreto) • La quantizzazione suddivide l’intervallo di possibili valori del segnale in n sotto intervalli che vengono poi codificati in binario. Ogni valore del segnale campionato viene approssimato al più vicino valore discreto • Più sotto intervalli si utilizzano, più l’approssimazione risultante sarà precisa, ma occorre impiegare un maggior numero di bit per la codifica. Le immagini digitali Campionamento e quantizzazione nello spazio codifica bitmap (raster) Le immagini digitali non hanno una struttura continua ma sono costituite da un numero finito di componenti monocromatiche (pixel) prodotte dal campionamento dell’immagine reale. I pixel assumono valori finiti di intensità luminosa. I possibili valori dipendono dal numero di bit: con N bit, ci sono 2N valori distinti. Per esempio nella codifica base RGB si codificano i 3 colori primari con 8 bit per colore per pixel. La codifica vettoriale delle immagini • Nella grafica vettoriale l’immagine viene codificata con l’indicazione della forma geometrica dei singoli oggetti che la compongono • Gli oggetti si possono ingrandire, rimpicciolire, ruotare, ridimensionare, colorare (bordi e contenuto), estrarre o inserire senza nessuna perdita di qualità. • Gli oggetti si possono trattare in modo indipendente, come se ognuno fosse tracciato su un foglio trasparente. Gli oggetti possono essere messi uno sull’altro, eventualmente quello sopra può nascondere quello sotto, che comunque non viene permanentemente cancellato. I segnali video • I video vengono codificati come sequenze di immagini • La frequenza con cui vengono campionate le immagini che formano la sequenza video viene chiamata frame rate • Il frame rate deve essere abbastanza alto affinché l’occhio umano non percepisca il passaggio da un fotogramma all’altro (almeno 30 frame/s) Il bit rate • Il prodotto della frequenza di campionamento (campioni/ s) e della risoluzione (bit/campione) fornisce la velocità di cifra, ovvero il numero di bit emessi nell’unità di tempo, misurata in bit/s • La velocità di cifra viene comunemente indicata col termine inglese bit rate • Esempio: Audio CD è 2 x 44100 x 16 = 1441200 bit/s ≈ 1.4 Mbit/s – Frequenza di campionamento = 44.1 kHz – Risoluzione = 16 bit/canale – 2 canali (stereo) Perché digitale? Qualità della trasmissione: con il segnale digitale è più semplice rilevare errori Prestazioni: la trasmissione digitale consente di trasmettere una maggior quantità di dati all'interno della stessa banda. Fedeltà e bit rate • La fedeltà aumenta all’aumentare della frequenza di campionamento e del numero di bit/campione, ovvero all’aumentare del bit rate • Il bit rate ha però delle limitazioni dovute al mezzo trasmissivo utilizzato (oltretutto condiviso) • E’ opportuno ridurre il bit rate cercando di limitare al minimo l’impatto sulla qualità del segnale • La riduzione del bit rate viene chiamata compressione del segnale La compressione • Compressione = Riduzione della quantità di dati per trasmettere la stessa informazione (testo, audio, video) • La compressione viene realizzata dal compressore o codificatore (coder) • Per ottenere l’informazione originaria occorre effettuare la decompressione • La decompressione è effettuata dal decompressore o decodificatore (decoder) • Spesso i due dispositivi (coder e decoder) sono raggruppati in un unico dispositivo (codec) • Il rapporto tra la quantità di bit da inviare senza e con compressione è denominato fattore di compressione Pro e contro della compressione Vantaggi Aumento della capacità effettiva dei supporti di memorizzazione (più brani audio in un lettore MP3, più filmati in un hard disk,...) Miniaturizzazione dei dispositivi di riproduzione Aumento della qualità del segnale a parità di banda disponibile sul canale trasmissivo Svantaggi Peggioramento della qualità all’aumentare del fattore di compressione Ritardo nella riproduzione La fedeltà della riproduzione con compressione • Codifiche lossless – La sequenza di bit ottenuta a valle del decoder è identica bit per bit a quella originale – Il fattore di compressione è tipicamente minore di 2:1 • Codifiche lossy – La fedeltà al segnale originale non è perfetta – La qualità del segnale a valle del decoder peggiora all’aumentare del fattore di compressione Compressione dati (lossless) • Compressione statistica: si associano codifiche più brevi a simboli più frequenti, per ridurre la lunghezza media (es. codifica Huffman) • Compressione basata su sostituzione: • Una sequenza di simboli uguali viene sostituita da un solo simbolo ed il numero di ripetizioni (es. RLE – Run Length Encoding) • Successioni di simboli ripetute vengono sostituite da un solo simbolo (es. LZ- Lempel Ziv) Compressione audio e video • Compressione audio: si sfrutta la ridondanza percettiva (psicoacustica), cioè l’incapacità dell’orecchio di percepire alcune componenti sonore in certe situazioni, che quindi non vengono codificate (es. MP3) • Compressione video: si sfrutta la sostanziale stabilità di buona parte dei fotogrammi, per cui vengono codificate solo le differenze (es. MPEG) • • • • • Codifica immagini Formato GIF Il formato supporta fino a 8 bit per pixel Il numero di colori `e limitato a 256 La limitazione sul numero di colori lo rende poco adatto per immagini fotografiche a colori E’ adatto ad immagini geometriche E’ adatto per loghi con zone di colore omogeneo Grado di compressione tipico = 50% Il logo e l’immagine dell’Italia sono GIF L’immagine dell’Italia `e 125x160 px e pesa 6390 byte, ovvero circa 2.5 bit/pixel Codifica immagini Formato JPEG • • • • • • Diminuisce la qualit`a della visualizzazione, ma utilizza tutta la gamma di colori RGB E’ adatto ad immagini di tipo fotografico con variazioni graduali del colore Non `e adatto per immagini geometriche o con variazioni nette del colore (meglio TIFF o GIF o PNG) E’ lossy perché comporta una perdita di risoluzione Non è adatto per immagini che devono essere editate più volte, perché ogni operazione di decompressione/ricompressione introduce degradazioni Grado di compressione tipico = 90% Formato JPEG Esempi Immagine 1 130x200 px (2.686 bit/px) Immagine 2 152x160 px (4.418 bit/px) Immagine 3 110x160 px (3.419 bit/px) Immagine 4 80x60 px (5.017 bit/px)