Formati grafici per il multimedia
Cos'è e come si usa il formato grafico JPEG
JPEG (si pronuncia "geipeg") è un formato standard di compressione dei file grafici bitmapped. JPEG è la sigla di Joint Photographic Experts Group, il nome del comitato che scrisse lo standard. JPEG è stato progettato per comprimere immagini a colori o a grigi di scene fotografiche naturali. Funziona bene sulle fotografie, sui quadri naturalistici e simili; non funziona bene sui fumetti, disegni al tratto, logo, lettering. 

JPEG tratta solo immagini statiche, ma esiste un altro standard correlato, MPEG, per i filmati (immagini in movimento). 

Che tipo di compressione usa JPEG? 
JPEG usa una compressione di tipo "lossy", il che significa che, per diminuire la dimensione dell'immagine,  alcuni pixel vengono eliminati, per poi essere ricostruiti (non esattamente uguali) in fase di decompressione e quindi l'immagine risultante non è più quella originale. Esistono anche tecniche di compressione "lossless', cioè senza perdita di pixel (un esempio è LZW) ma JPEG non ne fa uso. 

JPEG tuttavia è stato progettato in modo tale che i pixel eliminati siano quelli meno percettibili all'occhio umano. L'occhio umano è meno sensibile alle piccole variazioni di colore che alle piccole variazioni di luminosità, e così JPEG se trova due pixel di minima variazione di luminosità li conserva, ma se trova due pixel di minima variazione di colore ne tiene uno solo. 

Ne consegue che JPEG è adatto per comprimere immagini che sono destinate ad essere viste da esseri umani e non, per esempio, da computer. 

JPEG tuttavia non usa un metodo fisso di compressione. La quantità di pixel eliminati può essere determinata dall'utente: più pixel si eliminano più piccolo diventa il file e peggiore diventa l'immagine. 

Perché e quando usare JPEG? 
Si usa JPEG per diminuire la dimensione di un file grafico, e per memorizzare ogni pixel con 24 bit invece che con 8 bit (come fa per esempio GIF). 

Realizzare file di piccola dimensione è quasi obbligatorio se il file deve essere trasmesso su rete o archiviato. Essere in grado di comprimere un file a colori di 2 Mbyte a, supponiamo, 100 Kbyte fa risparmiare un mucchio di tempo di trasmissione e di spazio di archiviazione. JPEG riesce a comprimere una foto a colori fino a 20 volte, mentre GIF arriva di solito a 4 volte. 

Il secondo vantaggio di JPEG è che salva le immagini a colori a 24 bit per pixel (cioè potendo quindi scegliere da oltre 16 milioni di colori). GIF può scegliere solo da una paletta di massimo 256 colori. 

JPEG tuttavia non sostituisce interamente GIF. Su alcuni tipi di immagine, GIF funziona meglio sia per quanto riguarda le dimensioni del file che per la qualità dell'immagine. 

Parlando in senso generale, JPEG è superiore a GIF se si tratta di memorizzare o trasmettere scene realistiche a colori o a grigi. E quindi fotografie prelevate con lo scanner e simili. Le variazioni continue di colore e di grigio vengono rappresentate meglio e in meno spazio da JPEG che da GIF. 

GIF è superiore a JPEG se si tratta di immagini con solo pochi colori (meno di 256), come disegni al tratto, logo, fumetti. In questi casi GIF non elimina pixel ed anzi li riproduce esattamente. 

Come si salva una immagine JPEG in Photoshop? 
Nel menù File si sceglie il comando Salva con nome e si seleziona il formato JPEG. 

Adobe Photoshop 4 ha una scala di qualità per la memorizzazione dei JPEG che va da 0 a 10. Per compatibilità con la versione 3 conserva anche una scala correlata, espressa con aggettivi, che va da Bassa a Massima. La relazione è questa. 

0
1
2
3
4
5
6
7
8
9
10
Bassa
Bassa
Bassa
Media
Media
Media
Alta
Alta
Massima
Massima
Massima
Attenzione che questi numeri e aggettivi si riferiscono alla qualità dell'immagine. E naturalmente maggiore è la qualità, maggiore è la dimensione del file (cioè minore la compressione) e maggiore il tempo di trasferimento. 
Photoshop permette di scegliere altre opzioni nella finestra di salvataggio di un JPEG. 
  • Scegliendo la prima opzione si salva un JPEG standard (Linea di base è una cattiva traduzione di baseline).
  • Scegliendo la seconda opzione si salva un JPEG che ottimizza la qualità del colore dell'immagine.
  • La terza opzione salva il file come JPEG progressivo.
    Questa opzione corrisponde all'interlacciamento e visualizza l’immagine gradualmente man mano che viene scaricata da un browser web, usando una serie di scansioni che mostrano  versioni sempre più dettagliate finché non sono stati scaricati tutti i dati. Le immagini progressive richiedono più RAM per la visualizzazione e non sono supportate da tutti i browser (Netscape 4 ed Explorer 4 supportano il JPEG progressivo). Si può specificare il numero di scansioni progressive: 3, 4 o 5.

Infine Salva tracciato permette di scontornare un JPEG, ma non sui browser web (che non leggono i tracciati). 

Esempio di compressione e di visualizzazione di JPEG 
L'originale è una immagine RGB di 230 x 360 pixel = 82.800 pixel. Ogni pixel è rappresentato con tre byte (uno per ognuno di R, G, B), quindi l'immagine è di 82.800 pixel x 3 byte = 248.400 byte = 243 Kbyte. 

L'immagine è di 243 Kbyte, e memorizzata come TIFF non compresso occupa 257 Kbyte (106%) e come TIFF compresso LZW occupa 222 Kbyte (91%). Non posso farla vedere qui, perché il web non supporta TIFF ma solo GIF e JPEG.

Qui sotto la stessa immagine salvata in JPEG con qualità e dimensione descrescente, come da.tab

Immagine Qualità Kbyte compressione
originale 243 0%
jpeg 10 113 53%
jpeg 6 47 81%
jpeg 3 35 86%
jpeg 0 24 90%

JPEG, massima qualità, compressione 53% JPEG baseline 10
JPEG, compressione 81% JPEG baseline 6
JPEG, compressione 86% JPEG baseline 3
JPEG, minima qualità, compressione 90% JPEG baseline 0
JPEG progressivo 
E' supportato da Netscape 4, Explorer 4, Photoshop 4. Si tratta di far apparire l'immagine poco per volta mentre vengono trasmessi i dati. Photoshop permette di scegliere la progressività: a 3, a 4 o a 5 passi. Inoltre la progressività permette di comprimere ancora di più l'immagine. 

Questo è il JPEG di prima a qualità 10, con progressività a 3 passate. Da 113 Kbyte è passato a 108 Kbyte (45%). Per vedere l'azione delle tre passate fate clic sull'immagine, poi tenete premuto il tasto delle maiuscole e fate clic su Reload (Ricarica). L'effetto è più evidente se siete in rete. A destra, progessività a 4 passate. 107 Kbyte (44%). Sotto, progessività a 5 passate, 106 Kbyte (44%) 

JPEG a 3 passate 3 passate
JPEG a 4 passate 4 passate
JPEG a 5 passate 5 passate
Cosa succede a salvare ripetutamente in JPEG? 
Sarebbe bello se, una volta compressa una immagine in JPEG e salvata, si potesse riaprirla, decomprimerla e portarla alla situazione originale. Purtroppo non è così, perché i pixel persi nella prima compressione non si recupereranno più. (E' così nelle compressioni di tipo "lossless"). 

Ma c'è di peggio. Quando riapro una immagine JPEG non riottengo l'immagine originale, OK. Ma è possibile manipolarla, editarla (per esempio togliere un bordo) e risalvarla in JPEG senza ulteriore perdita di pixel, a parte quella iniziale? Anche in questo caso, purtroppo non è così. 

In generale, ricomprimere un JPEG modificato perde ulteriori informazioni. Se si apre un JPEG e lo si modifica localmente e lo si salva con lo stesso livello di qualità con cui era stato salvato la prima volta, il degrado della immagine è piccolo o nullo. Verrà modificata solo la parte corretta. 

Ma negli altri casi, compreso per esempio il taglio di un pezzo di immagine, l'algoritmo di compressione viene riapplicato e l'immagine perde ulteriori pixel. 

Quindi JPEG è utile come mezzo di compressione e archiviazione di immagini fotografiche. Non è utile come formato intermedio per una sequenza di passi di manipolazione. In tal caso serve un formato di compressione lossless come per esempio il TIFF. 

Posso fare un JPEG trasparente? 
La risposta è NO. JPEG non supporta la trasparenza e probabilmente non la supporterà ancora per un po'. Aggiungere la trasparenza a JPEG non è semplice. 

Il metodo tradizionale, usato da GIF, consiste nello scegliere un colore tra i 256 disponibili e dire che quel colore è trasparente. Questo non si può fare in JPEG, perché JPEG perde i pixel: un pixel non necessariamente rimane dello stesso colore dopo aver decompresso l'immagine. 

Un altro approccio sarebbe di memorizzare un canale alfa (percentuale di trasparenza), ma questo aumenterebbe la dimensione dell'immagine. L'ideale sarebbe memeorizzare l'immagine JPEG lossy più una maschera di trasprenza lossless usando un altro algoritmo. Ma ancora non l'ha fatto nessuno. 

Attenzione ai PICT JPEG 
Se da Photoshop si salva in PICT appare questa finestra. 
JPEG anche qui? E' lo stesso JPEG di prima? 

Non è lo stesso JPEG di prima. Infatti Photoshop non esegue direttamente il salvataggio in PICT ma lo affida a QuickTime, un'estensione del MacOS. QuickTime utilizza un suo algoritmo JPEG, diverso da quello che usa Photoshop. Infatti in questa finestra la compressione ha 4 livelli invece di 11 come nel JPEG di Photoshop, e inoltre non supporta il JPEG progressivo. 

Finora abbiamo parlato di compressione JPEG. A questo punto dobbiamo specializzare il nostro linguaggio e parlare di formato grafico JPEG, che vuol dire la compressione JPEG memorizzata in qualche modo, cioè il modo in cui i pixel compressi vengono memorizzati su disco e trasmessi. 

Il formato grafico JPEG standard è il JFIF (JPEG File Interchange Format): comprende solo i pixen e quasi nient'altro in più. Questo è il formato JPEG di Photoshop: un formato standard riconosciuto da molte applicazioni. 

Il formato JPEG di QuickTime non è JFIF ma è un PICT/JPEG, non direttamente compatibile con alcune applicazioni (anche se è convertibile). Per esempio non è compatibile con Netscape ed Explorer, e quindi con il web. 

Un altro formato JPEG è il TIFF/JPEG, noto anche come TIFF 6, una estensione del TIFF normale (adesso alla versione 5). E dovrebbe uscire anche il TIFF 7. E un altro formato ancora, proposto dal comitato JPEG è lo SPIFF

Home | Commenti a Mauro Boscarol | Ultimo aggiornamento 22 dicembre 2000