Calcolo dell'occupazione delle immagini

Le immagini sono memorizzate nel computer in forma digitale, la loro occupazione di memoria o su supporto magnetico varia a seconda dell'accuratezza della rappresentazione delle stesse, nella pratica poi subentrano altri fattori come durante l'elaborazione in memoria, il modus operandi del programma, e nel caso della memorizzazione l'algoritmo di compressione utilizzato.

In ogni caso la quantità di spazio occupato da una immagine può essere accuratamente calcolato in modo da poter bilanciare il rapporto costi e benefici tra l'accuratezza dell'immagine i tempi di elaborazione, la disponibilità dei supporti e il risultato che si vuole ottenere.

DPI e risoluzione

DPI è l'acronimo di dot per inch, ovvero punti per inch, è l'unità di misura più usata per indicare la risoluzione, sia nella digitalizzazione delle immagini da scanner, che nella riproduzione in stampa.

In generale quando si parla di riproduzione di documenti in bianco e nero si sceglie una risoluzione di 300 dpi che garantisce un risultato che è sufficientemente simile all'originale soprattutto se l'originale è generato da device non professionali che di solito non hanno una accuratezza molto maggiore.

Bit per pixel

Il bit è l'informazione minima immagazzinabile ed elaborabile da un computer, quando si parla di immagini digitalizzate dicendo quanti ne vengono usati per rappresentare un pixel si specifica il grado di accuratezza nella sua rappresentazione.

Vi sono tre tipologie di immagini digitalizzate, in bianco e nero, a toni di grigio, e a colori, le prime sono le uniche che hanno una sola rappresentazione usando un solo bit per ogni pixel, per le altre vi sono vari gradi di accuratezza.

Immagini in bianco e nero

Le immagini in bianco e nero sono composte di pixel che possono essere solo di colore bianco o nero, nella realtà anche i più diffusi sistemi di stampa sono in B/N simulando i grigi accostando in proporzione diversa le due tonalità per ottenere il risultato visivo voluto.

Per calcolare l'occupazione in bytes di una immagine in bianco e nero è sufficiente moltiplicare il numero dei pixel in orizzontale per quelli in verticale quindi dividerli per otto che è il numero di bit contenuti in un byte.

Nel caso che si voglia ottenere le dimensioni di una immagine con il riferimento delle dimensioni su carta il calcolo diventa leggermente più complesso, ovvero:

(inch in orizzontale * inch in verticale) * (dpi in orizzontale * dpi in verticale) /8

le parentesi sono aggiunte solo per chiarezza la prima parentesi calcola la superficie, la seconda la densità di pixel per inch, un inch corrisponde a 2.54 cm.

Per esempio una pagina A4 a 300 dpi occupa approssimativamente 1.087.608 byte ovvero

(8,27 * 11,69)*(300*300)/8.

In alcune applicazioni si scende ad una risoluzione di 200 dpi, decremento che linearmente non sembra sostanziale, ma che da una notevole differenza nell'occupazione essendo un parametro elevato al quadrato, la stessa pagina di prima diventa 483.381 byte ((8,27 * 11,69)*(200*200)/8) ovvero il 44% dell'occupazione originaria.

Quest'ultima risoluzione solitamente viene utilizzata, perché il miglior compromesso tra qualità e occupazione, nell'archiviazione documentale.

Nella formula non viene usato il quadrato per i dpi perché a volte viene scelta una risoluzione diversa per i due assi, un caso sono i fax che tra le varie modalità hanno quella a 200x100 dpi che rispetto a quella fine 200x200 occupano la metà.

Immagini a toni di grigio e a palette

Le immagini a colori, non true color, solitamente usano le palette per esprimere a quale tonalità corrisponde ogni valore delle combinazioni possibili con i bit messi a disposizione.

I formati più diffusi sono a 4 e a 8 bit, i primi possono rappresentare 16 colori e i secondi 256, nel caso di immagini a toni di grigio le palette rappresentano la scala della luminosità, uno schema di come la palette venga usata per traslare il codice di un pixel nel formato RGB è:

Palette

I calcoli per l'occupazione della memoria sono uguali a quelle delle immagini bianco e nero con la differenza che l'ultima divisione diventa con divisore a 2 nel caso si usino 4 bit, ed eliminata nel caso degli otto bit con i quali ogni pixel corrisponde esattamente ad ogni byte.

Un documento A4 a 300 dpi e 256 colori o toni di grigio occupa 8.700.867 bytes ((8,27 * 11,69)*(300*300)) una quantità di memoria che è proibitiva per molti dei sistemi normalmente utilizzati, in effetti di solito si usa questa risoluzione per fotografie che hanno dimensioni più contenute, per esempio una foto formato tessera è solo 270.000 byte ((1,5 * 2)*(300*300)).

Immagini a colori reali o true color

Sono immagini che riproducono esattamente l'aspetto cromatico dell'immagine originale, solitamente in formato RGB ovvero con le tre componenti Red Green Blue separate.

La rappresentazione di immagini in RGB è la conseguenza dell'utilizzo di questo formato per l'output su video, l'accuratezza è maggiore di molti dispositivi di output, vi sono vari livelli di accuratezza della resa cromatica a seconda di quanti bit si usano per ogni componente.

Solitamente si intende true color un formato a 24 bit, 8 bit per componente cromatica, mentre viene definito hicolor il formato a 15 o 16 bit, questo ultimo solitamente privilegia la componente verde predominante nella visione umana.

Nei formati più diffusi di memorizzazione non vengono usati i 15 o 16 bit perché più specifici dell'hardware anche se le specifiche del nuovo formato BMP supportano queste modalità.

Per quanto riguarda l'occupazione di memoria alla formula usata per le immagini B/N dovrà essere sostituita la divisione finale con una moltiplicazione per due o tre a seconda che si usino 15/16 bit o 24, i 15 bit usano due byte per questione di velocità di accesso ai byte, ogni pixel occupa due bytes in memoria, lasciando casomai un bit inutilizzato.

Una foto da 5x4 inch occupa a 300 dpi e 24 bit 5.400.000 bytes ((5*4)*(300*300)*3), sicuramente una quantità di memoria notevole se non per l'elaborazione, per l'archiviazione di diverse, in seguito affronteremo il problema quando parleremo della compressione delle immagini per la memorizzazione e i risparmi connessi.


Scelta della risoluzione in base all'utilizzo

Il miglior sistema per avere i minori tempi di elaborazione e la minore occupazione delle immagini è quella di scegliere oculatamente la risoluzione e la definizione delle immagini in base al loro utilizzo.

Nel caso di immagini usate per l'inserimento in altri documenti uno dei sistemi più diffusi è quello di utilizzare una anteprima per tutta la fase di messa a punto dell'impaginazione per poi rifinire la risoluzione quando le dimensioni in stampa sono definitive.

Le stampanti laser hanno una risoluzione limitata e non riescono a rendere a livelli di grigio a risoluzione elevate, ad una risoluzione di 300x300 dpi la stampante ha una matrice di 3x3 pixel per simulare i 256 grigi di una fotografia a 100 dpi, gli algoritmi che simulano i livelli di grigio su una periferica che usa una tecnologia di stampa in bianco e nero possono avere vari gradi di efficienza e solo a livello sperimentale si può valutare le regolazioni che danno il miglior risultato.

........

Occupazione delle immagini in memoria RAM

In generale i programmi di painting caricano l'intera immagine in memoria (solo alcuni permettono modifiche parziali di un documento) e l'occupazione va dall'equivalente dell'immagine a tre volte a seconda delle funzioni di Annulla e dalle zone di transito riservate, non vi è una regola ma quasi tutti i programmi hanno bisogno di almeno il doppio.

La memoria dovrebbe essere quella reale e non quella di swap per avere le migliori prestazioni ed evitare estenuanti passaggi su disco, per calcolare quanta memoria è realmente disponibile è sufficiente guardare al menu informazioni del Program Manager dopo aver disabilitato la memoria virtuale.

In generale Windows occupa da due a tre megabyte per la sua gestione a seconda della versione e dei servizi abilitati, il più vorace è Windows per Workgroup con i servizi di condivisione attivati.

Anche se le immagini occupano poco spazio su disco perché compresse (fino a 1:40 nel caso del JPEG) per ragioni di performances nell'elaborazione devono essere espanse a formati più velocemente trattabili, a volte non solo vengono decompresse ma anche convertite a formati più ampi, la cosa va valutata anche per dimensionare lo spazio disponibile sul disco dei file temporanei e di swap.