I.T.I. PANETTI - BARI
L'acquisizione e l'elaborazione delle immagini
(a cura del prof. Giuseppe Spalierno docente di Elettronica)
(rielaborazione: Febbraio 2004)


torna parte prima parte seconda parte terza parte quarta

6. FORMATI GRAFICI

Le immagini grafiche visualizzate sul monitor dei PC possono essere salvate su hard-disk o floppy in vari formati. Quello più naturale è il formato BMP (Bit Mapped) in grado di associare un certo numero di bit a ciascun pixel costituente l'immagine.

Il formato BMP è riconosciuto da tutti i programma di fotoritocco ma non è assolutamente il più economico in termini di byte occupati.

 

Fig.4 - Stessa immagine BMP 200x300 a 24bit, 8 bit e 4 bit.

In fig.4 si mostrano 3 immagini BMP identiche, ciascuna avente risoluzione 200x300 pixel; in fig.4a ad ogni pixel sono associati 24 bit (16 milioni di colori, cioè 8 bit per ciascuno dei tre colori fondamentali: Rosso, Verde, Blu), in fig.4b la stessa immagine è stata ridotta a 8 bit (256 colori) e in fig.4c a 4 bit (16 colori). I file associati occupano, rispettivamente: 176Kbyte, 60Kbyte, 30Kbyte.

Non bisogna farsi trarre in inganno dalla resa qualitativa pressoché identica delle 3 immagini poiché queste sono state generate dal desktop di Windows che utilizza pochi colori.

Se si porta al 500% la visualizzazione di questo documento è possibile apprezzare la granulosità dell'immagine, insomma si riescono a vedere i pixel, soprattutto nelle icone e nel testo. Lo sfondo, come si può osservare, appare omogeneo. In pratica i pixel dello sfondo, in tutti e tre i casi, sono descritti dalle stesse combinazioni di bit. Appare evidente la ridondanza, ovvero lo spreco di byte. Consideriamo, ad esempio, la fig.4b i cui ogni pixel è descritto da 8 bit. Una riga di solo sfondo è descritta da 200 byte tutti uguali. Per risparmiare byte sarebbe sufficiente realizzare un file, che descrive l'immagine, costituito dal numero di byte che si ripetono uguali seguito dal relativo valore, e così via. I formati grafici che seguono questa regola generano files più compatti che meglio si prestano ad essere utilizzati su dischetti (un file grafico non compatto potrebbe non essere contenuto in un dischetto) o trasmessi via Internet (un file grafico da 1Mbyte impiega un tempo 10 volte superiore ad essere trasmesso rispetto ad un file grafico da 100Kbyte equivalente al primo ma compresso).

 

6.1. FORMATO GIF

Il formato GIF (Graphics Interchange Format) , o Compuserve GIF, è il formato grafico attualmente più utilizzato in Internet per le sue caratteristiche di compressione.
Un'immagine a colori o a livelli di grigio viene salvata codificata con un meccanismo descritto nel precedente paragrafo: si sfruttano, cioè, le ripetizione dei valori dei pixel. L'algoritmo di compressione viene definito lossless ovvero senza perdita di informazioni perché il file generato è in grado di riprodurre esattamente l'immagine originale.

Il formato GIF risulta ottimizzato soprattutto per disegni, logo, icone e grafici in cui compare copiosamente il fenomeno della ripetizione dello stesso valore. Ogni pixel è codificato, al massimo, in 256 colori (8 bit) per cui non risulta particolarmente adatto per fotografie riprese con scanner, videocamere o macchine fotografiche digitali che gestiscono, per ogni pixel, 24 o più bit.

Inoltre, in una fotografia le ripetizioni sono più rare rispetto a immagini disegnate per cui si ottiene un file poco compatto.

Si mostra, in fig.5, la stessa immagine di fig.4b salvata nel formato GIF. La qualità appare identica ma l'occupazione di memoria è nettamente ridotta: solo 5Kbyte !!!

 

 

Fig.5 Immagine di fig.4b salvata nel formato GIF.

Il GIF presenta 2 formati: il GIF87, quello originale e GIF89 con funzionalità di trasparenza e generazione di immagini multiple per la creazione di semplici animazioni.
Le immagini di ciascuno dei due formati, inoltre, possono essere interlacciate o no. La funzionalità dell'interlacciamento è utile quando l'immagine occupa molto spazio e viene caricata lentamente, come può accadere se viene importata da Internet: l'immagine viene caricata completamente ma con scarsi dettagli, nelle passate successive l'immagine viene arricchita dei suoi dettagli. In questo modo si ha subito l'idea del contenuto dell'immagine. Se non interessa è possibile rinunciare al proseguo del caricamento. Se il formato non è interlacciato il caricamento dell'immagine avviene progressivamente riga per riga e dobbiamo attendere il completamento del caricamento per vederla nella sua interezza.

Di seguito si forniscono i link a due schermate 800x600 salvate a 256 colori in formato 89a una interlacciata e l'altra non interlacciata.

Il formato 89a gestisce anche la trasparenza.

Le immagini GIF trasparenti hanno uno sfondo invisibile che consente di visualizzare, a sua volta, lo sfondo della pagina del programma di esplorazione del Web che utilizza l'immagine in questione.

Le immagini in formato GIF consentono anche l'animazione. Questo effetto è generato dalla sovrapposizione di più immagini GIF, detti frame, ad intervalli di tempo programmabili. Si può decidere se la sequenza deve ripetersi o no.

Di seguito si realizza un link all'immagine GIF animata che visualizza una bussola il cui ago magnetico compie continue rotazioni.

Esistono programmi, come Gif Animator della Microsoft, Animation Pro della Jasc Software che consentono di modificare i parametri di funzionamento delle GIF animate.

Di seguito si realizza un link all'immagine GIF animata che visualizza una bussola rallentata. L'immagine è stata ottenuta con Gif Animator specificando a 30 centesimi di secondo, anziché 13, la durata di ciascun frame.

Si riportano, infine, i collegamenti alle seguenti gif animate:

Il problema delle immagini GIF è che la forma di compressione utilizzata, LZW (Lempel, Ziv, Welch, i creatori dell'algoritmo di compressione) è registrata. La società detentrice del diritto, la UniSys, ha chiesto il pagamento dei diritti agli sviluppatori che usano il formato GIF dopo il 1994. Per questo motivo tale formato potrebbe cadere in disuso.

 

6.2. FORMATO JPEG

Il formato JPEG esamina gruppi di pixel ricercando le differenze e quindi memorizza più le differenze che i pixel medesimi. Ogni informazione compressa JGP, anziché un solo pixel sullo schermo, rappresenta una matrice 2x2, 3x3, 4x4, ecc. con tinta che via via si sfuma. Ciò consente un fattore di compressione pari a 4, 9, 16 ecc.
E'  un formato particolarmente adatto per immagini con molte variazioni di pixel come accade nelle fotografie. Per immagini con ampie zone uniformi, come nei disegni geometrici, il formato JPEG può produrre zone non uniformi ed aloni, fornendo risultati non soddisfacenti. 

Il formato utilizza una compressione lossy cioè a perdita di informazioni. Durante la fase di salvataggio del file si può decidere quanta informazione perdere: ciò porta a file più compatti ma qualitativamente più degradati.

Si mostra in fig.6 l'immagine di fig.4a salvata in formato JPEG con rapporto di compressione pari a 30.

Fig.6 Immagine della fig.4a salvata in JPEG.

Osservando attentamente la figura 6 è possibile riscontrare la non uniformità dello sfondo in prossimità delle figure. Le dimensioni del file, sebbene sia stato richiesto un fattore di compressione 30, non sembra ottimale (10Kbyte) se confrontato con la dimensione ottenuta in GIF (5Kbyte). Bisogna dire, però, che l'immagine GIF è stata salvata a 256 colori mentre l'immagine JPEG è stata salvata a 16 milioni di colori (24 bit per pixel).

Appare evidente che il formato ottimale per immagini disegno tipo la fig.4 è il GIF sia sotto l'aspetto qualitativo che quantitativo.

Si riporta, infine, il link all'immagine 50000.JPG a 16 milioni di colori. Eseguendo un salvataggio in formato GIF a 256 colori in ambiente Paint Shop Pro (programma shareware di fotoritocco) si ottiene l'immagine 50000.GIF a 256 colori (non riportata). A prima vista le due immagini sembrano identiche.
Si riassume nella tabella 3 il confronto tra le due immagini.

Tabella 3 - Confronto tra le immagini 50000.GIF e 50000.JPG

File

Colori usati

Colori permessi

Dimensione in bitmap su schermo

Dimensione del file salvato

50000.GIF

248

256

2.6 Mbyte

1 Mbyte

50000.JPG

207986

16 milioni

7 Mbyte

365 Kbyte

Il JPEG, infine, consente il salvataggio in formato progressivo sostanzialmente simile al concetto dell'interlacciamento nelle immagini GIF.
Non sono, però, ammesse altre prestazioni come la trasparenza e l'animazione.

 

6.3. ALTRI FORMATI GRAFICI

Quasi tutti i programmi di fotoritocco consentono il salvataggio delle immagini in un formato proprietario e in numerosi altri formati molto utilizzati come il GIF e il JPG. Alle volte per elaborare una immagine registrata su disco in un dato formato col programma di fotoritocco che riteniamo più idoneo ma che non prevede quel formato grafico, siamo costretti a convertire il formato originale dell'immagine in uno noto al programma grafico che vogliamo utilizzare per effettuare elaborazioni. Tra i vari formati ce ne sono alcuni che privilegiano la compressione a scapito della qualità e viceversa.  Si elencano, in tabella 4, alcuni formati ed i tipici ambienti operativi o il significato della sigla.

Tabella 4 - Alcuni formati grafici

1

BMP Windows Bitmap

2

CDR Corel Draw

3

CGM Computer Graphics Metafile

4

CLP Windows Clipboard

5

DRW Micrografx Draw

6

DXF Autodesk Drawing Intechange

7

GIF Compuserve

8

JPG Joint Photographic Experts Group

9

LBM De Luxe Paint

10

PCD Kodac Photo CD

11

PNG Portable Network Graphics

12

PSD Photoshop

13

TGA Truevision Targa

14

TIF Tagged Image File Format

15

WMF Windows Metafile

Il formato PNG è stato creato per le applicazioni che sfruttano mezzi di trasmissione come Internet. E' dotato di algoritmi di compressione lessloss e congloba i vantaggi dei formati GIF e JPEG: trasparenza, supporta i vari tipi di colore a 8 e 24 bit e livelli di grigio, modifica luminosità, dissolvenza, verifica della integrità dei file attraverso tre livelli di test: controllo della terminazione di una riga grazie all'inserimento della coppia CR-LF (carriage return - line feed), controllo di blocchi logici attraverso il CRC-32 (Codice Ciclico di Ridondanza) e controllo del contenuto dell'intera immagine attraverso un altro CRC-32.

 

6.4 FORMATI GRAFICI VETTORIALI

Vi sono numerosi altri programmi applicativi non destinati al fotoritocco delle immagini. Questi programmi consentono il disegno tecnico geometrico, meccanico, elettrico, elettronico, ecc., sono dotati di librerie con simboli di componenti già predefiniti e con particolari proprietà che facilitano lo sviluppo del disegno come, ad esempio, la possibilità di copiare, spostare, cancellare una linea, un simbolo, un insieme di oggetti.

Il salvataggio del disegno realizzato nel formato proprietario dei programmi di CAD citati, produce file di dimensioni estremamente ridotte perché non vengono salvati gli attributi dei singoli pixel del disegno ma solamente le coordinate di posizionamento e il nome degli oggetti disposti sul foglio di lavoro oltre, ovviamente, ad altre informazioni di servizio. Questi formati sono definiti vettoriali.
E' evidente che tali file sono interpretati correttamente solo dal programma proprietario o da qualche altro programma similare.
Il formato WMF (Windows Meta File) è riconosciuto da molti programmi di fotoritocco e produce la stessa qualità grafica qualsiasi sia il fattore di zoom. Si veda, ad esempio, il file leone.wmf.

Il programma ABC Flow Chart permette di realizzare flow-chart e possiede una libreria di simboli geometrici che si possono collegare tramite linee elastiche (spostando i blocchi i collegamenti tra i blocchi rimangono e le linee che uniscono i simboli si deformano senza spezzarsi). Il programma salva i file in vari formati di cui, il tipico, è AF3.
Esistono altri programmi di flow-chart con formati proprietari che, però, non comprendono l'AF3.
Con ciò si vuole mettere in luce che, alle volte, si hanno formati incompatibili tra applicativi diversi che però lavorano su uno stesso tipo di problema.
E' possibile trasformare un'immagine vettoriale in immagine bitmap (che poi può essere salvata in formato GIF, più compatto) ma non viceversa, per ovvi motivi.

A titolo d'esempio, per finire, il file MX.SCH contiene lo schema elettronico di un multiplex realizzato con porte logiche NAND col programma di disegno e simulazione elettronica  MicroSim versione 8.0 (ora sostituito da PSPICE9.1 della ditta OrCad.

Si riportano i link del file MX.SCH (rinominato in MX.TXT per consentire la lettura del suo contenuto), del file MX.BMP (470K byte) che contiene lo stesso disegno trasformato in bitmap e del file MX.GIF (5K byte !!) trasformato in GIF.

torna parte prima parte seconda parte terza parte quarta

ultima modifica: sabato 31 gennaio 2004