Codifica delle immagini
Transcript
Codifica delle immagini
Codifica Cosa abbiamo visto : Rappresentazione binaria Codifica dei numeri (interi positivi, interi con segno, razionali ….) Cosa vedremo oggi: Codifica dei caratteri ,Codifica delle immagini ,Compressione dei dati Codifica dei suoni Codifica dell’informazione Le informazioni che intendiamo trattare non sono costituite solo da numeri • Ad esempio, voi state leggendo delle lettere e vedete sullo sullo schermo delle immagini • Per rappresentare lettere, immagini, suoni partendo dai numeri occorre utilizzare dei sistemi di codifica – Questi sistemi stabiliscono una corrispondenza fra un determinato numero e una particolare informazione • L’informazione rappresentata con numeri viene detta digitalizzata 1 Rappresentazione dei caratteri Definizioni: • Repertorio. Insieme dei caratteri considerati, definito mediante i nomi dei caratteri e magari una loro rappresentazione visiva • Numero di codice. Tabella in cui ciascun carattere del repertorio è messo in corrispondenza 1-a-1 con un insieme di numeri naturali • Codifica. Un metodo per associare a ciascun numero di codice una sequenza di bit che poi sono utilizzabili per la trasmissione o la memorizzazione elettronica. Il codice ASCII Le lettere dell’alfabeto sono 24; considerando le maiuscole si arriva a 48; con i segni diacritici (accenti, cediglie, tilde,…) arriviamo a un’ottantina; con i segni di interpunzione rimaniamo sotto il centinaio • Possiamo associare a ogni carattere (lettera minuscola, lettera maiuscola, vocale accentata, segno di interpunzione,…) un numero • Esiste una codifica standard che si chiama ASCII: American Standard Code for Information Interchange, che utilizza 7 bit (i numeri da 0 a 127) 2 Tabella dei codici ASCII •ASCII è un codice “antico” e (ad eccezione di alcune varianti nazionali pressoché in disuso) molto sicuro; – è accettata da tutti i computer (non solo i PC: anche i Mac, gli UNIX,…) •purtroppo: – i caratteri internazionali di numerose lingue europee non sono considerati • Esiste allora un’altra codifica, UNICODE che usa 2 byte per ciascun carattere e quindi riesce a rappresentare 65536 caratteri, permettendo di rappresentare tutti gli altri alfabeti. 3 Codifica delle immagini L’immagine viene suddivisa mediante una griglia di pixel (risoluzione) • Si definisce il numero di colori che si vogliono distinguere • Si codifica in binario (digitale) ogni colore – 256 colori --> 8 bit – 16 milioni di colori --> 24 bit (codifica RGB) • Ad ogni pixel si associa il codice del colore (il colore che in media “domina” all’interno del quadrato stesso) Di conseguenza ogni immagine è esprimibile mediante due serie di numeri: – le coordinate dei singoli quadratini (pixel) – un numero che esprime il colore del singolo quadratino Codifica delle immagini 4 Codifica delle immagini 2 colori bianco: 0, nero: 1 un codice per ogni pixel Poiché una sequenza di bit è lineare, è necessario definire delle convenzioni per ordinare la griglia dei quadratini (pixel) in una sequenza. Assumiamo che i pixel siano ordinati dal basso verso l'alto e da sinistra verso destra Con questa convenzione la rappresentazione della figura sarà data dalla stringa binaria 0000000 0111100 0110000 0100000 Codifica delle immagini Non sempre il contorno della figura coincide con le linee della griglia. Quella che si ottiene nella codifica è un'approssimazione della figura originaria. Se riconvertiamo la stringa 0000000011110001100000100000 in immagine otteniamo 5 Codifica delle immagini La rappresentazione sarà più fedele all'aumentare del numero di pixel, ossia al diminuire delle dimensioni dei quadratini della griglia in cui è suddivisa l'immagine Risoluzione Il numero di pixel in cui è suddivisa un’immagine si chiama risoluzione e si esprime con una coppia di numeri ad es. 640 ×480 pixel (orizzontali×per verticali) 6 Codifica delle immagini Assegnando un bit ad ogni pixel è possibile codificare solo immagini senza livelli di chiaroscuro Per codificare le immagini con diversi livelli di grigio si usa la stessa tecnica: per ogni pixel si stabilisce il livello medio di grigio cui viene assegnata convenzionalmente una rappresentazione binaria Per memorizzare un pixel non è più sufficiente un solo bit. Ad esempio, se utilizziamo quattro bit possiamo rappresentare 24=16 livelli di grigio, mentre con otto bit ne possiamo distinguere 28=256, ecc. Codifica delle immagini Analogamente possiamo codificare le immagini a colori. In questo caso si tratta di individuare un certo numero di sfumature di colore differenti e di codificare ogni sfumatura mediante un'opportuna sequenza di bit Ad esempio, i monitor utilizzano risoluzioni di 640X480, 1024X768, oppure 1280X1024 ed un numero di colori per pixel che va da 256 fino a sedici milioni di colori (un byte per ogni colore base: rosso, verde, blu nel sistema RGB) 7 Codifica delle immagini La rappresentazione di un'immagine mediante la codifica dei pixel, viene chiamata codifica bitmap e l’immagine viene detta“discretizzata”. Il numero di byte richiesti dipende dalla risoluzione e dal numero di colori che ogni pixel può assumere. Le immagini si possono anche ottenere mediante la definizione di primitive grafiche quali linee, archi, poligoni, cerchi, espresse analiticamente. Tali immagini vengono dette vettoriali. Trovano applicazione nell’ambito del CAD. Elaborazione dell’immagine Una volta digitalizzate, le immagini possono essere elaborate facilmente Elaborare un’immagine digitalizzata vuol dire applicare una trasformazione alla sequenza di bit che codifica l’immagine Esempio: cambiare/neutralizzare il colore (Croma-key) 8 Le tecnologie di memorizzazione e trasmissione dei dati non offrono soluzioni efficienti ed economiche per gestire grandi quantità di dati. Occorre applicare tecniche di compressione tecniche di compressione per ridurre lo spazio occupato. Tali tecniche sfruttano le regolarità delle immagini. compressione senza perdita di informazione compressione senza perdita di informazione: si memorizzano pixel vicini identici una volta sola e si ricorda quante volte occorrono nell’immagine compressione con perdita di informazione compressione con perdita di informazione: non si memorizzano tutti i pixel, ma solo una frazione di essi. Si usano funzioni matematiche di interpolazione per ricostruire i pixel mancanti Compressione lossless La tecnica è completamente reversibile e restituisce in fase di decompressione i dati originali. Il fattore di compressione non è molto elevato (da 2 a 5 a seconda del tipo di dati). E’ adatta per dati testuali, sonori, eidetici. 9 Compressione lossy Sopprime in modo irreversibile la parte di informazione meno significativa, permettendo così, in fase di decompressione, la ricostruzione dei dati in modo ancora intelligibile. Permette di ottenere fattori compressione dell’ordine di 10, 100. Non è adatta per dati testuali. Formati standard GIF(Graphic Interchange Format) utilizza 8 bit per pixel e quindi distingue 256 colori. Usa una tecnicadi compressione senza perdita JPEG(Joint Photographic Expert Group) utilizza 24 bit, quindi16,8 milionidi colori. Usa una tecnicasofisticatadi compressione con perdita. Altri formati TIFF 10 Immagini in movimento Memorizzazione mediante sequenze di fotogrammi La qualità della memorizzazione dipende dal numero di fotogrammi al secondo Esempio: le immagini televisive vengono trasmesse con 25/30 fotogrammi al secondo, con una risoluzione di 576×720, con colori codificati a 16 bit. Problema dell’occupazione di spazio: per ottimizzare lo spazio non si memorizzano tutti i fotogrammi. I fotogrammi variano in modo continuo: si memorizza un primo fotogramma in modo completo, e per i successivi N solo le differenze con il primo. 11 Formati standard di compressione dei filmati MPEG: memorizzain modo completo solo un fotogramma ogni 12, degli altri solo le differenze AVI: (Microsoft) QuickTime:(Apple e Microsoft) Codifica dei suoni Dal punto di vista fisico un suono è un'alterazione della pressione dell'aria che, quando rilevata, ad esempio dall'orecchio umano, viene trasformata in un particolare stimolo al cervello. Mediante un microfono queste alterazioni vengono trasformate in un particolare stimolo elettrico La durata, l'intensità e la variazione nel tempo della pressione dell'aria sono le quantità fisiche che rendono un suono diverso da ogni altro 12 Codifica dei suoni L'onda di pressione può essere rappresentata sul piano cartesiano rappresentando il tempo sull'asse delle ascisse e la pressione sull'asse delle ordinate. Questa rappresentazione, analogica,fornisce una descrizione continua dell'onda sonora Per rappresentare in forma digitale(numerica) un’onda sonora, cioè per convertire un segnale continuo in una successione di numeri, si effettuano due successive operazioni elementari: 1. Campionamento del segnale (cioè si preleva una successione di campioni a intervalli costanti di tempo) 2. Ogni campione viene quantizzatoossia convertito in un numero (si codificano in forma digitale le informazioni estratte dai campionamenti) 13 Quanto più frequentemente il valore di intensità dell'onda viene campionato, tanto più precisa sarà la sua rappresentazione. Il segnale può essere riprodotto perfettamente sulla base dei valori campione se la frequenza di campionamento è superiore al doppio della componente del segnale di frequenza più elevata. Un errore viene comunque introdotto quando si converte il valore analogico di un campione in un numero con un numero limitato di cifre. Le frequenze sonore udibili dall’uomo sono comprese fra 20 Hz e 20.000 Hz (20KHz) La frequenza di campionamento per una corretta rappresentazione dell’informazione sonora deve essere allora maggiore di 40.000Hz(40KHz) che nella pratica viene assunta di 44.1KHz. 14 Compressione dei file audio Il piu’ noto standard e’ MP3 che permette di ottenere un fattore di compressione 12:1. Ad esempio un file campionato a 44,1 KHz con 16 bit per campione che occuperebbe circa 50 milioni di byte, compresso in formato MP3 ne occupa meno di 5 milioni, senza perdita di qualita’. 15