Codifica dei caratteri (ASCII) I caratteri di un testo vengono codificati tramite sequenze di bit, utilizzando un codice di traduzione. Quello più usato è il codice ASCII (American Standard Code for Information Interchange). Utilizza 7 bit. Rappresenta i 128 caratteri più comuni. Per codificare alcuni caratteri mancanti (vocali accentate, simboli semigrafici e altri simboli) si utilizza la notazione estesa (non standard) a 8 bit (256 caratteri) In ogni caso il carattere occupa sempre 1 byte di memoria. Proprietà della tabella ASCII (vedi fig. seguente) I caratteri alfabetici sono consecutivi ed in ordine (alfabetico) La distanza tra una lettera minuscola e la corrispondente maiuscola è costante Le cifre decimali sono consecutive ed ordinate da 0 a 9
ASCII ESTESO
Codifica dei caratteri (UTF-8) Per ovviare al limitato numero di caratteri rappresentabili, la codifica attualmente più utilizzata è l'utf-8 (Unicode Transformation Format, 8 bit). Utilizza sequenze di lunghezza variabile di byte (da 1 a 4). È compatibile con la codifica ASCII standard Può rappresentare praticamente tutti i caratteri esistenti al mondo Il codice assegnato al carattere viene rappresentato con U+, seguito dalle cifre esadecimali del numero che lo individua. Esempio: ڤ = U+06A4 (lettera araba Veh)
Codifica delle immagini Codifica di immagine pittoriche (fotografie, disegni, ecc.) Immagini bitmap Rappresentano elementi non ben definiti, con sfumature di colore, immagini reali Codifica di disegni geometrici Immagini vettoriale o vector oriented Elementi ben definiti, dai contorni precisi che rappresentano un modello di immagini reali
Codifica immagini bitmap L immagine viene scomposta in una griglia di elementi che verranno poi codificati con un insieme di bit. Per risoluzione di un dispositivo si intende la capacità di riprodurre un immagine, contando il numero di elementi rappresentabili per unità di misura. La risoluzione nei monitor dipende dal numero di picture element (piu' comunemente noti come pixel) che questo riesce a visualizzare. Le risoluzioni più comuni sono: 1024 x 768, 1600 x 1200, 1920 x 1080. Nelle stampanti e scanner la risoluzione è il numero di punti che possono essere definiti su foglio o dpi (dot per inch, 1 inch = 2.54 cm). Risoluzioni comuni sono: 300, 600, 1200 dpi.
Codifica immagini bitmap b/n Scelta la risoluzione, si assegna il valore 0 al bianco ed 1 al nero dove il colore è predominante. 16 17 18 19 20 11 12 13 14 15 Es: 5 x 4 pixel Codifica: 01111011100110001000 6 7 8 9 10 1 2 3 4 5 partendo dal pixel in basso a sinistra e seguendo la numerazione Quantità di memoria necessaria = 20 bit 3 byte utilizzati
Codifica immagini bitmap a colori Ogni colore è normalmente ottenibile dalla combinazione di 3 colori primari. Le 2 tecniche fondamentali usate sono: Sintesi additiva: colori Red, Green, Blue (RGB). Nei monitor a colori i fosfori colorati dello schermo (RGB), visti da lontano, danno l effetto di miscelazione. Sintesi sottrattiva: colori Cyan, Magenta, Yellow (CMY). Nelle stampanti a colore, la luce bianca (foglio di carta) viene filtrata attraverso le gocce di colore depositate (CMY).
Codifica immagini bitmap a colori Per ogni pixel si adottano, ad esempio, 8 bit per colore per un totale di 24 bit/pixel. Sono così rappresentabili 2 24 16 milioni di colori diversi (codifica true color) Il numero di bit per colore di un singolo pixel (bit per pixel o bpp) è detto profondità del colore. L estensione più comune di un file bitmap true color è.bmp Esempio immagine (monitor PC): Definizione = 1024 x 768; profondità di Colore = 24 bit Dimensione approssimativa = (1024 x 768 x 3 ) byte = 2359296 byte = = (2359296 /1024) kb = 2304 kb = (2304/1024) MB = 2.25 MB Pixel con i suoi 3 sotto-pixel (uno per ogni colore)
Dal video alla carta Aprendo un immagine true color di 640*480 pixel con un programma di foto ritocco scopriamo che le "dimensioni documento" sono di 22,58x16,93 cm. Come si ottengono? Sono il risultato della divisione tra larghezza in pixel (640) e risoluzione del monitor (tipicamente 72 dpi). A) Convertiamo la risoluzione del monitor in pixel/cm: 72 / 2,54 = 28,346 (un pollice è 2,54 cm). B) Dividiamo la larghezza dell immagine per la risoluzione appena calcolata: 640 / 28,346 = 22,58 cm. Che significa tutto questo? se prendo i 640 punti dell'immagine e li stampo su carta piazzando, in ogni centimetro, 28,346 punti, alla fine riesco a coprire 22,58 centimetri di lato di stampa. Discorso analogo per il lato corto.
Dalla carta ai pixel Se il formato della stampa deve essere 10x15 cm e se la qualità deve essere alta (es: 300 dpi), per determinare i pixel dell immagine dobbiamo fare le seguenti operazioni inverse: ( 300 / 2.54 ) * 10 = 1181 pixel ( 300 / 2.54 ) * 15 = 1772 pixel
Dalla macchina fotografica alla carta La dimensione dei pixel dell immagine dipende dal sensore usato per la ripresa (CCD = Charge Coupled Device), per esempio un sensore da circa 5 megapixel registrerà in uscita immagini di 2560 pixel in larghezza ed 1920 pixel in altezza. Nel momento in cui andremo a visualizzare o a stampare l immagine avremo una risoluzione massima determinata dalla quantità di pixel utilizzati. Andiamo ora a calcolare la massima risoluzione per una stampa nel formato 20x27 cm con un immagine di 5 megapixel: 1920 / ( 20 / 2.54 ) ) = 240 dpi per l immagine da 5 megapixel
Altra codifica immagini bitmap Ad ogni pixel è assegnato un valore che individua una riga in una tabella contenente la tripletta RGB del colore. La tabella è chiamata palette di colori. Ad esempio, utilizzando 8 bit/pixel, sono possibili 256 colori (associati alla palette scelta). Rispetto al true color c'è un evidente risparmio di spazio di memorizzazione. 27 Indice R G B 27 100 35 78 255 56 90 240
Immagini vettoriali È possibile memorizzare un immagine usando le sue proprietà (coordinate dei vertici, lunghezza dei lati, colore dell area, ecc.). In questo caso si parla di immagini vettoriali. Sono indipendenti dal dispositivo di stampa o visualizzazione, cioè permettono di sfruttare sempre la massima risoluzione del dispositivo usato. Circle 32 120, 30 (Coordinate del centro e raggio) Polyline 0 48, 88 152, 88 48, 0 48 (Coordinate dei 4 vertici) 1=4 2 3 La memorizzazione avviene normalmente in formato ASCII. Sono immagini tipiche della progettazione meccanica (CAD) es: DXF (Drawing exchange Format)
Tecniche di compressione Le tecniche di compressione permettono di ridurre la dimensione dei dati per poterli manipolare in modo più agevole (memorizzazione o trasmissione) INFORMAZIONE DATI CODIFICA COMPRESSIONE DATI COMPRESSI DECODIFICA DECOMPRESSION DECOMPRESSIONE E INFORMAZIONE DATI
Tecniche di compressione compressione senza perdita di informazione (loseless) l informazione prima e dopo il processo è la medesima ed i dati prima e dopo la compressione/decompressione sono gli stessi. Migliora l efficienza della codifica basandosi sulla frequenza statistica dei dati compressione con perdita di informazione (lossy) l informazione prima e dopo il processo è quasi la stessa ed i dati dopo la decompressione sono diversi da quelli compressi. Riduce la ridondanza della codifica eliminando i dati che non sono, o sono poco, percepibili ai nostri sensi (essenzialmente vista e udito)
Compressione immagini bitmap La più comune è la compressione JPEG (Joint Photographic Experts Group). Può essere loseless o lossy (la più usata) Utilizza la DCT (Discrete Cosine Transform) dove i valori calcolati rappresentano le variazioni di frequenza della luminanza (intensità luminosa per unità di superficie) o della crominanza (segnale legato al colore). Poiché le variazioni di luminosità e colore dei pixel delle immagini sono lente (pochi valori della DCT a bassa frequenza e quasi nulli ad alta) si possono eliminare quelle a bassa frequenza (a cui l occhio è meno sensibile) con evidente perdita di parte dell informazione iniziale.
Codifica segnali audio Il segnale audio è un segnale analogico (continuo nel tempo e nelle ampiezze). Per decodificarlo in maniera digitale deve essere discretizzato nel tempo (campionamento) e nelle ampiezze (quantizzazione), senza perdere l'informazione necessaria per poi poterlo riprodurre.co Campionamento: prelievo di valori (campioni o samples) del segnale in determinati istanti di tempo. Per determinare quali siano questi istanti di tempo e quindi la frequenza f c con cui campionare si fa ricorso alla trasformata di Fourier. In generale, la trasformata di Fourier permette di scomporre e successivamente ricombinare, tramite la formula inversa di antitrasformazione, un segnale generico in una somma infinita di sinusoidi con frequenze, ampiezze e fasi diverse. L'insieme di valori in funzione della frequenza, continuo o discreto, è detto spettro di ampiezza e spettro di fase.
Teorema del campionamento Nella realta', tutti i segnali hanno uno spettro d'ampiezza (o banda del segnale) limitato, cioè la loro energia è nulla sopra una certa frequenza massima f M Fatte queste premesse, per determinare la frequenza di campionamento si applica il teorema del campionamento o di Nyquist che si applica ai segnali limitati in banda (B). Il teorema del campionamento afferma che: un segnale a banda limitata può essere univocamente ricostruito a partire dai suoi campioni (cioè da digitale ad analogico) se questi vengono prelevati ad una frequenza (frequenza di campionamento f c ) maggiore o uguale del doppio della massima frequenza del segnale stesso f M. f c 2f M
Quantizzazione Quantizzazione: rappresentazione dei campioni con un numero predefinito di bit. Fase non reversibile in cui l approssimazione introdotta porta ad una perdita d informazione (errore di quantizzazione). L aumento del numero di bit utilizzati per la codifica diminuisce il cosiddetto rumore di quantizzazione. Il formato più comune di memorizzazione di un file audio è quello WAVE (.wav)
Campionamento A Campionamento Nel dominio del tempo Segnale campionato t T c t f c >= 2f M T c = 1/f c <= 1/2f M Se non conosco la frequenza massima del segnale, dalla trasformata di Fourier posso trovarla Frequenza massima del segnale
I fase di quantizzazione Segnale campionato t 0111 0110 0101 0100 0011 0010 0001 0 1111 1110 1101 1100 1011 1010 1001 1000 I fase quantizzazione: scelta numero bit Es. di quantizzazione con 4 bit di codifica 1000 val. campione 0111
II fase di quantizzazione 0111 0110 0101 0100 0011 0010 0001 0 1111 1110 1101 1100 1011 1010 1001 1000 I fase quantizzazione: scelta numero bit 0111 0110 0101 0100 0011 0010 0001 0 1111 1110 1101 1100 1011 1010 1001 1000 II fase quantizzazione: A(n) approssimazione 1 2 3 4 5 6 7 8 9 10 13 14 11 12 Codifica con 4 bit (1000 0111) 0011, 0101, 0101, 0111, 0101, 0011, 1101, 1011,
Come ricostruire il segnale Ricostruzione del segnale: interpolazione 0111 0110 0101 0100 0011 0010 0001 0 1111 1110 1101 1100 1011 1010 1001 1000 A(n) 1 2 3 4 5 6 7 8 9 10 11 12 Â (t) 13 14 t
Teorema del campionamento Il campionamento di un segnale a tempo continuo con frequenza di campionamento fc produce una ripetizione periodica dello spettro in frequenza con periodo di ripetizione fc fc > 2f M Spettro originale del segnale Spettro segnale campionato Per eliminare tutte le repliche spettrali e riottenere lo spettro iniziale è sufficiente moltiplicare la trasformata di Fourier del segnale campionato per un rettangolo con banda compresa tra -fc / 2 e +fc / 2 (FILTRO passa-banda o passa-basso se considero solo le frequenze positive).
Alcuni esempi Segnale telefonico B = 3400 Hz Fc = 8 khz -> Sample rate > 8000 campioni al secondo Quantizzazione = 8 bit/campione Es: memoria utilizzata -> (8 x 8) khz x bit = 64 kb/s = 8 kb/s -> 1 minuto = 480 kb Musica su CD B = 20 khz Fc = 44.1 khz -> Sample rate = 44100 campioni al secondo Quantizzazione = 16 bit/campione per ognuno dei due canali stereo Es memoria utilizzata -> (44.1 x 2 x 16) khz x bit = 1411 kb/s = 176.375 kb/s = 0.17 MB/s -> 5 minuti = 51 MB
Compressione audio Si utilizzano diverse tecniche (molto complesse), basate su studi di psicoacustica. In pratica si tendono ad eliminare quelle informazioni poco udibili dall orecchio umano. MP3 (Motion Picture Expert Group-1/2 Audio Layer 3) è un algoritmo lossy con un fattore di compressione da 10:1 a 12:1 (rispetto a quello di un CD standard) ed un bitrate fino a 320 kbit/s. I file MP3 audio sono suddivisi in settori ("chunks" in inglese) chiamati frames ("fotogrammi" in italiano). Ognuno di questi settori è provvisto di un indicatore del tasso di compressione; in questo modo, mentre il file audio viene riprodotto, è possibile modificarlo dinamicamente. Questa tecnica rende possibile utilizzare più bit per la parte del suono ad alta dinamica (suoni più complessi) e meno bit per la parte a bassa dinamica (suoni meno complessi).
Immagini video Un video è la successione rapida di immagini, fisse correlate fra loro (fotogrammi o frame). Es: cinema = 24 fps Es: TV (PAL) = 25 fps. Il fotogramma televisivo è detto quadro. Per evitare che l occhio umano percepisca la discontinuità di immagini (sfarfallio o flickering) è necessario aumentare la frequenza delle immagini Cinema: ogni fotogramma viene proiettato 2 volte TV (PAL): ogni quadro è trasmesso in 2 parti (righe pari e dispari). La frequenza è quindi 50 semiquadri al secondo.
Codifica digitale video Ogni fotogramma è memorizzato con le tecniche viste per le immagini fisse (bitmap) Risoluzioni Qualità VHS: 352x288 a 256 colori, 25 fps (circa 2.5 MB/s) Qualità TV (PAL): 720x576 a 256 colori, 25 fps (circa 10 MB/s) Full HD: 1920*1080 a 256 colori, 25 fps (circa 50 MB/s) Servono tecniche di compressione per poter ridurre la quantità d informazione da memorizzare. Intraframe: elimina i dati duplicati all interno di uno stesso fotogramma Interframe: elimina i dati ripetuti su fotogrammi successivi Il formato MPEG (Motion Picture Expert Group) è uno standard non solo video (es: MPEG layer III o MP3). Il più evoluto (DVD, TV digitale e satellitare) è MPEG-2.