Lossless graphic GPD
Lossless graphic GPD | |
---|---|
Estensione | .gpd
|
Tipo MIME | image/x-gpd
|
Sviluppatore | RGB Light e Kandalu software |
Tipo | Immagine digitale |
Lossless graphic GPD è un formato di file per la memorizzazione compressa delle immagini digitali grafiche (senza perdita di informazioni).
Mentre la caratteristica di un'immagine fotografica (RGB truecolor 24 bit) a tono continuo è quella di rappresentare molti dettagli, grazie a una distribuzione continua dei toni colore, le immagini digitali grafiche (loghi, cartoni animati, ecc) si distinguono per la omogeneità dei valori colore, su ampie superfici della immagine.
L'aspetto significativo è risultato essere una luminosità non distribuita ma "costante" su ampie zone della immagine.
Per questa ragione l'analisi non si è fermata alla ricerca di maggiori ridondanze possibili per ogni singolo canale colore, ma si è spinta alla creazione di un aumento delle ridondanze, riguardante ogni singola tripletta per ogni singolo pixel.
L'elemento portante, "quella parte di luminosità appartenente a tutti e tre i colori, cioè condivisa dai tre colori", risulta di conseguenza ad altissima ripetizione (ridondanza).
Una volta individuato questo valore comune all'interno della tripletta colori, è risultato sufficiente salvare questo valore in un "quarto byte di appoggio", per poi scrivere una nuova tripletta colori utilizzando i rimanenti 3 byte per definire solo le distanze residue, dal valore unico di luminosità estratto e inserito nel quarto byte di appoggio.
Uno dei 3 ulteriori byte che rappresentano i delta dal valore unico di luminosità, risulta di conseguenza sempre a zero, il che serve anche al riconoscimento della posizione del colore a delta 0.
Metodo
[modifica | modifica wikitesto]Dalla tripletta RGB si passa a una quaterna (delta RGB + Luminosità) in grado di descrivere nel 4º byte il valore comune di luminosità, e nei byte 1º, 2º, 3º solamente i delta. Con uno dei tre valori di delta sempre a zero, uno zero utile anche al riconoscimento della posizione di quello specifico colore-valore nella tripletta originale da ricostruire in decompressione. L'aumento di massa (da 3 a 4 byte) in questo nuovo file (buffer) virtuale, viene quindi costantemente compensato dalla presenza in uno dei quattro byte con un valore sempre a zero.
Precedere la vera e propria compressione, con la creazione di un buffer virtuale a 4 byte con uno di questi sempre a zero, comprova che la nuova e diversa organizzazione dei valori permette a qualsiasi compressione senza perdita di operare in modo decisamente più efficiente, senza la perdita di alcuna informazione.
Nel caso di GPD, la compressione finale senza perdita utilizzata è LZMA licenziata da Igor Pavlov.
Questa preparazione alla compressione senza perdita, dedicata ai file grafici, permette inoltre di aggiungere funzioni di riduzione "quantità e valori" dei colori per ottenere ulteriori riduzioni di peso, pur mantenendo una percezione visiva (perceptual lossless) ancora non distinguibile dall'originale.
Voci correlate
[modifica | modifica wikitesto]Collegamenti esterni
[modifica | modifica wikitesto]- (EN) Descrizione dell'algoritmo di compressione, su photodefiner.com.