Immagini digitali - Setificio Informatica
Transcript
Immagini digitali - Setificio Informatica
Immagini digitali Luca Mainetti, Matteo Agosti, Roberto Gonella 1 INDICE 1. La teoria del colore ...............................................................................................................................................3 2. La formazione del colore e dell’immagine digitale ................................................................................................7 3. I formati GIFe PNG .............................................................................................................................................12 4. Il formato JPEG ..................................................................................................................................................16 5. I formati usati dalle fotocamere………………………………………………………………………………………...21 Riferimenti bibliografici ............................................................................................................................................23 2 3. I formati GIF e PNG Segui questa lezione e sarai in grado di comprendere ed utilizzare il formato GIF per le immagini digitali. Inoltre familiarizzerai con gli algoritmi di compressione delle immagini digitali, iniziando con una tecnica semplice. E’ importante se vuoi realizzare delle iconcine, anche animate, per le tue pagine web. Nell’ultima parte della lezione verrà fornita una breve introduzione al formato PNG, una possibile evoluzione del formato GIF. Il formato GIF (Graphic Interchange Format) venne introdotto nel 1987 dalla CompuServe Corporation allo scopo di realizzare uno standard interno per l’interscambio di immagini tra i prodotti software che l’azienda di Columbus (Ohio, USA) allora realizzava. Certamente i tecnici di CompuServe non potevano immaginare che le loro idee avrebbero avuto un grande successo ancora vent’anni dopo, con il web. Per la precisione, CompuServe definì due differenti formati: il primo, noto come GIF87a, supporta immagini con una profondità di colore di 8 bit, cioè ad un massimo di 256 colori; il secondo, divulgato due anni dopo e noto come GIF89a, aggiunge al precedente alcune caratteristiche come le animazioni, le trasparenze e l’interlacciamento. Non vi sono differenze apprezzabili dall’occhio umano tra un’immagine GIF87a e la corrispondente GIF89a. GIF87a GIF89a L’utilizzo di una “palette” di soli 256 colori pone certamente un limite qualitativo se si intende utilizzare il formato GIF per rappresentare foto realistiche. Infatti, se si cerca di tradurre una foto digitale a milioni di colori (24 bit per pixel) nella corrispondente immagine GIF (8 bit per pixel), il processo di riduzione ottimizzata dei colori (dithering) può introdurre artefatti nell’immagine risultante, ottenendo un’impressione di “grana-grossa”. Foto originale a 24 bit per pixel Foto a 8 bit per pixel ottenuta con dithering I formati GIF87a e GIF89a fanno uso di una particolare tecnica di compressione che prende il nome LZW, algoritmo inventato nel 1984 dai ricercatori Abraham Lempel, Jacob Ziv e Terry Welch. LZW è una tecnica di compressione dell’immagine senza perdita d’informazione, cioè il peso dell’immagine viene ridotto prestando 12 attenzione a che non venga perso alcun elemento informativo sul colore dei pixel costituenti. Se immaginiamo che i pixel che formano un’immagine digitale siano codificati con numeri interi (che ne rappresentano uno specifico codice colore) e siano letti dall’algoritmo di compressione LZW a partire dall’angolo superiore di sinistra, percorrendo per righe orizzontali l’immagine, fino all’angolo inferiore di destra, per comprimere il contenuto di un’immagine l’algoritmo LZW sostituisce sequenze di codici di pixel già note con codici singoli; aggiunge ogni nuova sequenza ad una tabella di codifica (dizionario). Segue una descrizione dell’algoritmo LZW. Inizializzazione: tabella con tutti i codici di lunghezza 1 S = codice successivo in input Ripeti fino all’ultimo codice in input C = codice successivo in input S+C è presente nella tabella? Se sì, allora S = S+C Se no, allora Manda in output il codice associato a S nella tabella Aggiungi S+C alla tabella (crea un nuovo codice) S=C Manda in output il codice associato a S nella tabella Con l’animazione che segue si mostra un caso d’uso dell’algoritmo LZW sulla sequenza di codici di 17 pixel “01012101010000003”. In 18 iterazioni l’algoritmo LZW riesce a dimezzare l’informazione necessaria per memorizzare la sequenza di pixel. Iterazione 1 Iterazione 2 Iterazione 3 Iterazione 4 Iterazione 5 Iterazione 6 13 Iterazione 7 Iterazione 8 Iterazione 9 …… Iterazione 10 Iterazione 18 Dalle caratteristiche dell’algoritmo LZW si può dedurre che quanto più è casuale l’informazione di colore contenuta nell’immagine, tanto più sarà minore la compressione ottenuta, poiché inferiore sarà la probabilità di incontrare sequenze di pixel già note. Ciò è illustrato dalle sei immagini che seguono, tutte della medesima dimensione in termini di pixel di larghezza e di altezza, ma, come si può leggere, di pesi differenti una volta compresse con l’algoritmo LZW e codificate in formato GIF. Un singolo file GIF89a può codificare più di un’immagine; se le immagini contenute vengono disegnate rapidamente nel tempo si ottiene un effetto di animazione (GIF animate). 14 File “time_ani.gif” La struttura logica del formato GIF chiarisce in quale modo più immagini digitali possano essere memorizzate nel medesimo file, senza che le informazioni si confondano. Header logical screen descriptor width, heigh, # color background color global color table Image 1 local image descriptor local color table image data Image 2 Image 3 ............. ............. Il formato GIF89a può fare uso della tecnica di “chroma key” per realizzare zone di trasparenza nelle immagini. Un particolare colore (detto colore chiave, chroma key), ad esempio il colore dello sfondo (background) dell’immagine, viene sostituito con altri colori, rendendo trasparente l’immagine stessa. GIF con sfondo GIF con sfondo trasparente Il formato GIF89a supporta anche le immagini interlacciate, nelle quali le linee di pixel non sono memorizzate in una sola “passata” ma in più scansioni, ad esempio, prima tutte le linee dispari (la prima, la terza, la quinta, ecc.) e poi tulle le linee pari (la seconda, la quarta, la sesta, ecc.). Quando si visualizza una GIF interlacciata, si ottiene un effetto di caricamento progressivo, che può essere utile se l’immagine viene scaricata dal web utilizzando una linea di comunicazione particolarmente lenta. Il formato PNG (Portable Network Graphics) è stato creato nel 1995 da un gruppo di autori indipendenti allo scopo di fornire una soluzione alternativa al popolare formato GIF che in quegli anni aveva visto l’introduzione di costi di licenza per il suo impiego (i detentori del brevetto GIF decisero improvvisamente di chiedere un pagamento per ogni programma che utilizzasse il loro formato). PNG è superficialmente simile a GIF, in quanto è capace di immagazzinare immagini in modo lossless, ossia senza perdere alcuna informazione, ma è decisamente più efficiente con immagini foto realistiche (che contengono troppi dettagli per essere compresse in poco spazio). Essendo stato sviluppato molto tempo dopo, non ha molte delle limitazioni tecniche del formato GIF: può memorizzare immagini in colori reali (mentre GIF è limitato a soli 256colori) ed ha un canale dedicato per la trasparenza (canale alfa). Esiste inoltre un formato derivato, MNG (Multiple-image Network Graphics), che è simile al formato GIF animato. Negli ultimi anni la grafica per il web sta esplorando il formato PNG come soluzione completamente sostitutiva al formato GIF. 15 Riferimenti bibliografici S. Ihrig, E. Ihrig, “Immagini Digitali - Trattamento e Stampa”, McGraw-Hill 2° edizione, 1999 J. D. Murray, W. vanRyper, “Encyclopedia of Graphics File Formats”,O'Reilly; 2° edition, 1996 23
Documenti analoghi
I formati grafici
Le immagini salvate come GIF possono contenente un “colore
di trasparenza”, ovvero un colore particolare che quando
l'immagine viene visualizzata viene reso trasparente
Questa caratteristica e mo...