|
Il formato JPEG - Il degrado delle immagini
Premessa
Il formato JPEG e' utilizzatissimo in ambito multimediale, sia per
il trasporto di immagini fisse che per immagini in movimento.Si tratta
di un formato che permette di salvare in un file di dimensioni contenute
immagini complesse e di grande risoluzione. Cio' non avviene con meccanismi
che conservino la proprieta' originale delle immagini ma con tecniche
(molto sofisticate, peraltro) che permettano di avere un grande risultato
in termini di risparmi con un "accettabile degrado" della
qualita' originale del file.
Naturalmente il formato JPEG ha grandissima valenza tecnologica e non
e' certo da sottovalutare o da denigrare per questi difetti insiti nel
processo di "risparmio". Obbiettivo di questo articolo e'
quello di sottolineare un problema in modo che si sia consapevoli dei
limiti dello stesso.
I formati grafici
Nei formati grafici "conservativi" un'immagine viene scomposta
in una matrice di punti, ogni punto viene "misurato" secondo
le sue caratteristiche ottiche, e infine viene effettuato un salvataggio
su file della serie di misure ottenute. Facendo una banale semplificazione,
se avessimo un'immagine composta da un reticolo di 100 x 100 punti,
avremmo un totale di 10.000 punti misurati da scrivere su file, con
un'occupazione adeguata di spazio fisico. Nei formati "piatti"
tale procedimento viene effettuato pedissequamente per tutti i punti
definiti nella matrice originale dell'immagine, col risultato (ad esempio
il formato BMP) di avere un'occupazione consistente. Ogni punto dell'immagine
viene inoltre descritto non solo come "acceso" o "spento"
ma con la serie di informazioni relative ai colori fondamentali, eccetera.
Il "costo" in bytes di ogni singolo punto, quindi, puo' essere
consistente, maggiori sono le informazioni che sono necessarie per descriverlo.
Ad esempio se la capacita' di discriminare l'intensita' di un singolo
colore fondamentale e' di 256 livelli diversi (un byte), allora ci vorranno
per i tre colori fondamentali un terzetto di bytes. L'immagine teorica
di cui sopra da 100 x 100 richiederebbe quindi molto piu' spazio, pari
a 30.000 "numeri" da registrare su file.
Ottimizzazione dei files grafici
Particolari tecniche di ottimizzazione possono ovviare alle enormi
dimensioni di un file grafico.
Supponiamo ad esempio che la nostra immagine contenuta nella matrice
100x100 sopra citata sia in realta' estremamente ridotta. A livello
di un ipotetico formato di trasporto di questa immagine, potrei prevedere
di trasmettere solo la parte di immagine che contiene effettivamente
qualcosa. Se il mio oggetto visualizzato e' grande 5 x 5, potrei "indicare"
sul file che la mia zona utile e' solo quella e risparmiarmi quindi
il salvataggio di una buona parte dei 30.000 punti.
Un altro sistema potrebbe essere quello di trattare l'immagine interamente
ma di "zippare" il file conclusivo, ottenendo un risparmio
di spazio senza alcun "trattamento particolare" dell'immagine.
Un'altra tecnica potrebbe essere quella di cercare "somiglianze
tra i punti (pixel) e aggregarle in "pacchetti" di descrizione.
Ad esempio una fotografia dove pezzi contigui dell'immagine sono uguali,
potrebbe permettere di convertire la serie di punti uguali e vicini
in una descrizione sintetica del tipo "disegna 30 punti uguali
uno dopo l'altro", con un potenziale risparmio anche consistente
(ovviamente per immagini che abbiano queste caratteristiche. Questa
codifica si chiama ad esempio RLE (run length encoding, cioe' codifica
della lunghezza) ma, come potete immaginare, su un'immagine con tantissimi
dettagli ben difficilmente permette di risparmiare, dato che la codifica
richiede due informazioni diverse per ogni punto (il colore del punto
e quanto lungo va tracciato), tant'e' che a volte per immagini particolarmente
complesse e' addirittura peggiore del metodo di descrizione "punto
per punto".
In pratica un metodo che ottimizza lo spazio occupato su file da un'immagine
attraverso i meccanismi sopra esposti, deve per forza di cose essere
adeguato alle caratteristiche dell'immagine stessa, altrimenti potrebbe
non portare a vantaggi apprezzabili.
Ora, senza entrare in dettagli particolari, per cercare di permettere
un trasporto "leggero" delle immagini, e' stato studiato un
insieme di tecniche che, attraverso sofisticati meccanismi di approssimazione,
permettesse di ottenere un vantaggio apprezzabile nella dimensione finale
senza degradare troppo l'immagine. Volendo dare un'idea di massima avulsa
da dettagli tecnici, si potrebbe dire che si chiede al formato grafico
di fare "un riassunto" dell'immagine stessa, "sorvolando
su alcuni dettagli", semplificando la descrizione di altri, omettendo
informazioni non indispensabili, etc. Tecnicamente l'operazione richiede
quindi una analisi dell'immagine originale e il trasferimento di una
"sintesi" di essa sul file. Come ogni buon riassunto, piu'
esso e' accurato, migliore e' l'accuratezza di cio' che descrive ma
maggiore e' la sua dimensione. Viceversa piu' sintetico e' il riassunto,
minore e' la sua dimensione e peraltro minore e' la sua capacita di
descrivere efficacemente le informazioni.
L'utilizzo di formati grafici e' stato poi esteso dalle immagini fisse
a quelle in movimento, sempre con logica simile e con meccanismi di
ottimizzazione analoghi. Non solo meccanismi che semplifichino le singole
immagini del filmato secondo modelli visti precedentemente, ma anche
con tecniche che entrino nel merito del filmato nel suo complesso.
Un filmato classicamente trasmesso al cinema con 24 fotogrammi al secondo
puo' quindi essere "semplificato" in vario modo. Ad esempio
se le immagini in un dato momento sono fisse, si potrebbe "risparmiare"
il flusso di 24 fotogrammi al secondo per la maggior parte "inutili",
visto che sono tutti uguali. Ovviamente cio' non e' possibile ne' ipotizzabile
con un proiettore a pellicola ma, con gli strumenti digitali, cio' e'
non solo possibile ma molto conveniente, dato che ogni immagine (per
quanto abbiamo esposto prima) ha una dimensione assolutamente consistente
(un filmato DVD ha una risoluzione di 720 x 576 punti, cioe' 414.720
punti ognuno composto di varie informazioni relative al colore, luminosita',
etc...) per cui ogni fotogramma risparmiato rappresenta un risparmio
notevole. Pure e' anche possibile effettuare un'ottimizzazione "tra
fotogrammi", ad esempio in alcuni casi puo' essere conveniente
registrare le variazioni tra un'immagine e l'altra piuttosto che le
due immagini nella loro interezza.
Spero di aver reso l'idea.
Non per invadere altri standard ma il discorso relativo alla gestione
"approssimata" dei files grafici e' del tutto analogo a quello
effettuato per i formati audio (Mp3, tanto per citarne uno). Del resto
il gruppo MPEG ("Motion Picture Entertainment Group") e' lo
stesso che ha elaborato i due standard JPG e MP3 !
Il caso specifico - un'immagine campione
Ho preso un'immagine campione. La seguente.
E' un dettaglio di una immagine piu' grande.
Come vedete il campionamento della stessa ha gia' introdotto una serie
di piccole perturbazioni (il reticolo di quadratini). Si tratta di perturbazioni
che, viste nel complesso dell'immagine originale, non sono molto visibili.
Ho quindi convertito l'immagine in formato JPEG, ottenendo la seguente:
 |
Provate ad aprire le due immagini su finestre diverse e perfettamente
sovrapposte, passando dall'una all'altra per verificare le differenze
ad occhio. E' un esercizio semplicissimo ma molto istruttivo.
E' evidente una serie di distorsioni e di effetti indesiderati, tra
i quali ad esempio:
1) strani aloni e "ondine" nei pressi dei bordi di alcuni
oggetti, ad esempio nei pressi della zona d'ombra sulla sponda, come
pure nei contorni delle palle, della stecca e del gessetto
2) la "semplificazione" che viene fatta delle zone "omogenee"
(la quadrettatura originale e' stata sostituita con zone di "tinta
unita")
3) il leggero alone nei pressi della macchia bianca (riflesso della
luce) delle due palle bianca (sotto la macchia) e nera (sopra la macchia)
Ovviamente ingrandendo i particolari i difetti si notano fortemente,
mentre osservando "normalmente" le immagini la differenza
non si nota che impercettibilmente, come si vede da questo "slalom
parallelo" effettuato con le due immagini in formato 200 x 150
affiancate:
|
Immagine originale
|
Immagine dopo conversione JPG
|
 |
 |
Per la cronaca il file originale (in formato BMP) occupa 921.654
bytes mentre il file convertito in formato JPG occupa la bellezza
di 27.341 bytes, cioe' circa il 3% del file originale!!
Pertanto dal punto di vista del risparmio dell'occupazione di risorse
sicuramente il formato JPG e' assolutamente conveniente. Non da quello
qualitativo, sicuramente.
Conclusioni
Abbiamo dato un'occhiata al formato JPEG e discusso di qualche elemento
inerente la grafica.
Sicuramente e' un tema particolarmente complesso e la breve e sintetica
chiacchierata non poteva certo entrare molto nel dettaglio. Spero di
aver comunque reso l'idea delle problematiche dell'argomento.
|
Come valuti questo documento?
|
Il documento che hai letto ha scopo didattico/informativo/divulgativo
ed e' redatto da professionisti che operano in questo ed in
tanti altri settori.
Ci interessa avere un tuo giudizio,
capire quali sono i tuoi interessi e le tue esigenze.
Ogni tua necessita' puo' trovare risposta nei professionisti
di Digital Expert. Scrivici!
byartaigiechina
|
|