INFORMATIVA PRIVACY
Questo sito utilizza cookie di terze parti per inviarti pubblicita' in linea con le tue preferenze. Se vuoi saperne di piu' o negare il consenso a tutti o ad alcuni cookie, clicca qui.
Chiudendo questo banner, scorrendo questa pagina, cliccando su un link o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie.

Accetto
Sei un nuovo utente? Registrati!

Articolo


Compressione


di Nicola Carlon
10 immagini - 355 kb
data di pubblicazione: 11 Luglio 2009

tags: carlon, compressione, ridimensionamento, tecnica

Share

(13 commenti)
visto 4919 volte
Torna agli articoli



In questo articolo cercherò di spiegare cosa sia effettivamente la compressione delle immagini, a cosa serva e quali siano gli effetti sulla qualità della foto.
Il modo migliore per essere sicuri di non fare errori è sempre capirne il funzionamento, perché, come capirete leggendo questo articolo, ogni immagine è diversa e la compressione va adattata ad essa e non viceversa. Se invece siete pigri e volete solo una ricetta, però senza garanzia, saltate direttamente alle conclusioni.


Premessa

Quando qualcuno descrive una fotocamera digitale (compatta, prosumer o DSLR che sia) dice sempre il numero di Megapixel che possiede.
Anche se in realtà è l’ottica a distinguere una macchina di qualità da un’altra, i megapixel sono importanti per capire la dimensione dell’immagine, lo spazio che occupa e quindi poter pensare alla sua compressione.
Questa unità di misura si riferisce al numero di milioni di pixel che formano il sensore (CCD) e che producono un’immagine la cui area avrà appunto quel numero di pixel [1].  
Riporto una tabella per capire meglio questo concetto:


Megapixel Pixel (Altezza x Larghezza)
1 1280 x 768
2 1600 x 1200
3 2048 x 1536
4 2272 x 1704
5 2560 x 1920
6 3072 x 2048
10 4064 x 2704

Le misure sono approssimative e possono variare a seconda del rapporto delle dimensioni del sensore.


Una volta scattata una foto, questa viene compressa al volo dal microprocessore della fotocamera ed immagazzinata nella memoria a stato solido (Schede CF, SD, XD, ecc..).
Il tipo di compressione normalmente è scelto dall’utente nel menù della fotocamera e oltre a far diminuire lo spazio occupato può anche causare perdita di risoluzione (rimpicciolendo l’immagine) oppure di qualità (perdendo dettagli).
Oltre alla risoluzione spaziale del sensore (in pixel), incide sullo spazio occupato dall’immagine espresso in KByte anche la profondità del colore cioè a quanti colori diversi il CCD è sensibile.
Solitamente si parla di una profondità di colore di 24bit (8 bit per canale RGB) cioè di una sensibilità di 2^24=16,8 milioni colori diversi.

Per capire il perché dell’uso della compressione basta fare alcuni semplici calcoli.
Una singola immagine da 5 Megapixel occuperebbe senza compressione 2560 x 1920 x 3 cioè circa 15MByte. [2]


Compressione

A questo punto entrano in gioco gli algoritmi di compressione che possono essere di due tipi: lossy o lossless.
Per esempio se voglio comprimere la stringa aaabbbcceccddddfdd un algoritmo lossless mi restituirà 3a3b2ce2c4df2d facendomi risparmiare 4 caratteri.
Con un algoritmo lossy invece un risultato potrebbe essere 3a3b4c6d, facendomi perdere il “dettaglio” della ‘e’ e della ‘f’ ma risparmiando ben 9 caratteri.
La compressione lossy viene attuata nel formato JPEG mentre la lossless nei formati Tiff, PNG ma anche nei formati RAW proprietari come il CRW o il CR2 della Canon che
usano la vecchia versione lossless del JPEG. [3]

Se possedete una fotocamera che scatta in RAW provate a fotografare qualcosa di molto dettagliato e con moltissimi colori e poi, scegliendo sempre il formato RAW, una superficie omogenea. Vedrete che la prima foto avrà un peso maggiore della seconda perché il RAW, seppur comprimendo l’immagine, mantiene tutta l’informazione, presente in grande quantità nella prima rispetto che nella seconda.

Dato che, come si dice in gergo, no-free-lunch bisogna cercare un trade-off tra qualità e spazio occupato, anche se scattare in RAW è di gran lunga più indicato per le modifiche off-line (bilanciamento del bianco, recupero fino ad 1 stop delle bruciature, ecc) che esso permette.
La compressione fatta su un PC con un programma di fotoritocco come Gimp o Photoshop il più delle volte sarà molto più accurata da una fatta in tempo reale sul microprocessore della propria compatta o anche sulle sofisticate DSLR.
C’è da dire anche che nel formato RAW lo spazio dei colori resta quello originale (24, 32, 48bit e oltre a seconda della fotocamera) mentre nel JPEG è fisso a 24bit.

Se volete però pubblicare la vostra foto da 5 o più Megapixel sul web è necessario un ridimensionamento ed una successiva compressione.

La prima mossa utile è quella di rimpicciolire l’immagine per portarla alle dimensioni volute, 720x600 per esempio ;D
Sembra un’operazione banale ma anche qui i risultati cambiano a seconda dell’algoritmo usato. Passare da 5 Megapixel a meno di 1 Mp comporta una notevole perdita di informazione e decidere cosa scartare e cosa no è importante, ma rimando gli approfondimenti sugli algoritmi di riduzione (Bilinear, Bicubic, ecc..) ad altra sede e consiglio solo di usare un buon software come Gimp o Photoshop e di non limitarsi al Paint…

Facendo un po’ di conti l’occupazione di un’immagine non compressa di 720x600 pixel moltiplicati per 24bit ovvero 3byte di profondità di colore è di circa 1.2 MByte.
Se volessimo, per esempio, portare l’immagine a 180KB, dovremmo comprimerla di circa un fattore 6 rispetto al peso originale.

A questo punto però entra in gioco il tipo di immagine: se questa è formata da pixel i cui vicini sono tutti diversi, anche una leggera compressione causerebbe una perdità di qualità percepibile in termini di sfocatura (perché il JPEG opera in frequenza [4]).
Considerando comunque che con il JPEG si può arrivare fino ad un fattore di compressione 1:100 e che 2.5 è considerato FullQuality, per arrivare a 6 non servirà molto sforzo in termini di perdita di qualità in caso di foto “ordinarie”.


Esempi

Ecco alcuni esempi per capire quanto l’immagine può far variare lo spazio occupato e la percezione di perdita di qualità.

Partiamo subito dagli estremi:

Immagine Random, non comprimibile senza perdita di dettaglio [5]: 213x213 pixel e 24bit di colore, 136KB in formato non compresso, 100 KB con compressione lossless (Tiff ZIP)

articolo
articolo
JPEG al 100% (FullQuality): 132KB JPEG al 60%: 74KB
articolo
JPEG al 10%: 22KB


Immagine Monocromatica: 213x213 pixel e 24bit di colore 132KB in formato non compresso, 23 KB con compressione lossless (Tiff ZIP)

articolo
articolo
JPEG al 100% (FullQuality): 854Byte JPEG al 60%: 853Byte
articolo
JPEG al 10%: 600ByteB


Ora consideriamo due immagini “ordinarie”:

Immagine con molti dettagli: 213x213 pixel e 24bit di colore, 132KB in formato non compresso, 126 KB con Compressione lossless (Tiff ZIP)

articolo
articolo
JPEG al 100% (FullQuality): 51KB JPEG al 60%: 16KB

Immagine con aree sfocate, più omogenea: 213x213 pixel e 24bit di colore, 132KB in formato non compresso, 110 KB con Compressione lossless (Tiff ZIP)

articolo
articolo
JPEG al 100% (FullQuality): 30KB JPEG al 60%: 15KB

Si può notare una compressione di fattore 2.5 usando JPEG in FullQuality nell’immagine “ordinaria” con più dettagli, ed un fattore 4 nell’immagine più omogenea.
La prima immagine ordinaria compressa al 60% (fattore 8) presenta una lieve perdita di dettaglio visibile sulle ciglia e sulle piume del cappello.


Conclusioni


Per lo scatto è sempre consigliabile il formato RAW per la grossa flessibilità nella postproduzione e per la possibilità di rimediare facilmente ad eventuali errori in fase di scatto.

Per la pubblicazione sul web la scelta dipende anche dal tipo di immagine.
Se questa è troppo densa di dettagli (e sparsi per tutta la foto) si potrà fare poco senza perde quelli più fini, forse sfocare alcune parti dell’immagine non interessanti in postproduzione può aiutare a mantenere i dettagli del soggetto, una volta compressa l’immagine.
Nella maggior parte dei casi fortunatamente il formato JPEG in modalità FullQuality può anche dimezzare il peso dell’immagine ed una compressione al 80% può essere un buon compromesso per mantenere tutti i dettagli importanti ed avere una buona compressione.

Usate sempre programmi di qualità come Gimp (gratuito) o Photoshop, sia per il ridimensionamento che per la compressione, ma lasciate stare il Paint e i programmi di visualizzazione immagini.

Durante il salvataggio, scegliete l’opzione di compressione ottimizzata per il web e controllate sempre lo spazio occupato dall’immagine finale in modo da usare sempre tutti i KB disponibili.
Se il programma di compressione visualizza la percentuale di compressione scegliete accuratamente il valore perché variazioni anche dell’ 1% possono farvi guadagnare qualità. Ad esempio se la vostra foto compressa al 70% pesa 150KB e al 80% ne pesa 200KB non fermatevi al 70% ma provate anche con i valori intermedi e fermatevi a quello che si avvicina di più ai 180KB.

Seguendo queste semplici regole difficilmente la vostra foto sarà penalizzata a causa di un errore di compressione, a meno che questa non sia stata di scarsa qualità già in partenza a causa dell’ottica o da un’impostazione errata della fotocamera in fase di scatto.



Immagini da: http://www.cs.cmu.edu/~chuck/lennapg/



[1] In realtà i megapixel effettivi sono 1/3 a causa della presenza del filtro di Bayer e gli algoritmi di demosaicing si “inventano” il resto dei dati. Vedi articolo “Retina e CCD
[2] Un Byte sono 8 bit quindi la profondità di colore è di 24bit/8=3Byte
[3]
http://libopenraw.freedesktop.org/wiki/Canon_CR2
[4]
http://en.wikipedia.org/wiki/JPEG
[5]
http://en.wikipedia.org/wiki/Kolmogorov_complexity



segnala questo articolo ad un amico
email: testo:




commenti
  EnneKappa  [20 Maggio 2010 - 00:23]
Eheh, non sto scappando :D sto valutando se vale la pena scrivere un altro articolo o cercare di riassumere qui.
Il ridimensionamento è sicuramente importante tanto quanto la compressione.
Però a differenza della compressione per usarlo bene non serve capirne a fondo il funzionamento.
  Ricky  [19 Maggio 2010 - 23:58]
anche io piano piano lo sto abbandonando...
oggi la adsl ha risolto un pò di problemini.... ma quando si faceva web con il 56k bisognava essere snelli snellissimi.... ;)

non scapparmi ora su:
...ma rimando gli approfondimenti sugli algoritmi di riduzione (Bilinear, Bicubic, ecc..) ad altra sede...

dai dai, che necessito di capirne di più...
:D

  EnneKappa  [19 Maggio 2010 - 15:28]
Interessante Ricky! Fireworks lo usavo circa 4 anni fa quando ancora era fornito nel pacchetto Macromedia insieme a Dreamweaver.
Da quando ho preso la sana abitudine di scrivere i siti con Notepad++ e nient'altro ho smesso di usare Fireworks e iniziato con PS ;)
Buono a sapersi.
Grazie!
  Ricky  [19 Maggio 2010 - 15:23]
vorrei aggiungere, che il programma fireworks della ex macromedia ora adobe. per una leggera diversità di algoritmo, l'immagine salvata per web a pari percentuale di compressione di photoshop, in fireworks pesa meno.
la qualità del dettaglio sembra essere migliore.

per chi fa web, cataloghi ecc... ovviamente si chiede di aver meno peso possibile all'immagine per essere più veloci a caricare la pagina.
a mio avviso l'esportazione in jpg per web fatto da photoshop o fireworks di turno non dovrebbe essere inferiore al 60%, sotto questa percentuale i "danni" cominciano ad essere troppo vistosi.

mentre sarebbe importante continuare il discorso del bicubica...

bel lavoro, bravo!

  Sanminiato77  [28 Ottobre 2009 - 17:44]
Bravo Nicola!!
Io so come comprimere le immagini correttamente in PS, ma devo ammettere che molte di queste nozioni più tecniche mi mancavano!
Per caso hai anche in cantiere un articolo sulla scansione da pellicola??
O ne conosci qualcuno buono da linkarci?
  otisblue  [8 Agosto 2009 - 15:50]
Grazie, molto utile!!
  EnneKappa  [16 Luglio 2009 - 00:16]
Eh eh, noi ingegneri la conosciamo bene :D
  marco.caste84  [16 Luglio 2009 - 00:09]
La mitica lenna :-D Bravissimo Nicola
  EnneKappa  [15 Luglio 2009 - 13:13]
Sono contento che sia piaciuto, non è stato un mix facile perchè i concetti che stanno alla base sono abbastanza profondi e complicati e ho dovuto capire come tagliare la punta dell'iceberg in modo da non annoiare e nemmeno dire solo cose ovvie.

Per il link nel regolamento ne sarei onorato!
E se così sarà ribadisco che è apertissimo a eventuali modifiche e integrazioni.
Potremo usare questo spazio dei commenti anche come sportello di richiesta aiuto sul problema della compressione (nei limiti del possibile) visto che ogni volta che qualcuno scrive vengo avvisato via e-mail.
  SAndro  [15 Luglio 2009 - 12:51]
Davvero bravo.
Il giusto mix tra tecnicismo e divulgazione :-)

E comunque serve moltissimo agli utenti che partecipano ai concorsi del sito. Bisognerebbe davvero trovare il modo di consigliare questo articolo a tutti.
Forse si potrebbe citare nel regolamento del concorso, che ne pensate?
  Rosa  [12 Luglio 2009 - 20:51]
Veramente ben fatto!!! Semplice eppure ricco di informazioni....Grazieeeeeeeeeeee io personalmente l'ho trovato molto utile.
  MacMauro  [11 Luglio 2009 - 12:21]
Bravo Nicola! Esaudiente ...
  EnneKappa  [11 Luglio 2009 - 10:06]
Se avete domande, se ci sono della parti incomprensibili o se trovate inesattezze commentate pure! Per me è molto importante avere dei feedback così capisco a quale livello di dettaglio posso spingermi nei miei articoli.



Se vuoi aggiungere un commento riempi il modulo qui sotto:

nome *:
testo *:
codice *:
  <- inserisci il codice di sicurezza
  



I campi contrassegnati con l'asterisco sono obbligatori.
Leggi con attenzione i termini di servizio.



Because the light

portale di cultura fotografica, concorsi online, mostre, reportage, portfolio articoli, libri, forum e community. Per divertirsi e imparare con la fotografia.
progetto, design e codice di Sandro Rafanelli
in redazione: Simone Scortecci, Marco Sanna, Jacopo Salvi e Alessandro Garda
l'approfondimento fotografico è su BecauseTheLight - becausethelight.blogspot.com

per info: info@photocompetition.it - [ termini di servizio ] - [ privacy ] - [ diventa socio ]