Ho a che fare con un grande archivio di immagini satellitari della Terra, ognuna presa a 15 minuti di distanza sulla stessa area, quindi sono abbastanza simili tra loro. Due contigui si presentano così:
Gli algoritmi video comprimono molto bene più immagini simili. Tuttavia, queste immagini sono troppo grandi per i video (10848x10848) e l'uso di codificatori video eliminerebbe i metadati delle immagini, quindi estrarli e ripristinarli sarebbe ingombrante anche se ottengo un codificatore video per lavorare con immagini così grandi.
Per fare alcuni test ho ridotto le 96 immagini di un giorno a 1080x1080 pixel, per un totale di 40,1 MB e provando una compressione diversa con i seguenti risultati:
- zip: 39,8 MB
- rar: 39,8 MB
- 7z: 39,6 MB
- tar.bz2: 39,7 MB
- zpaq v7.14: 38.3 MB
- fp8 v2: 32,5 MB
- paq8pxd v45: 30.9 MB
Gli ultimi tre dovrebbero sfruttare molto meglio il contesto e funzionare meglio della compressione tradizionale, ma il rapporto di compressione è ancora piuttosto scarso rispetto al video mp4 che può portarlo a 15 MB o anche meno preservare la qualità dell'immagine.
Tuttavia, nessuno degli algoritmi utilizzati da tali programmi di compressione sembra trarre vantaggio dalla somiglianza delle immagini rispetto alla compressione video. Infatti, usando packJPG , che comprime ciascuna immagine separatamente, l'intero set scende a 32,9 MB, abbastanza vicino a fp8 e paq8pxd, ma senza sfruttare appieno le somiglianze tra le immagini (perché ogni immagine viene compressa singolarmente).
In un altro esperimento, ho calcolato in Matlab la differenza tra le due immagini sopra e si presenta così:
La compressione di entrambe le immagini originali (219,5 + 217,0 = 436,5 kB totali) con fp8 le porta a 350,0 kB (80%), ma comprimendone una e l'immagine della differenza (come jpg della stessa qualità e usando 122,5 kB), risulta in un file di 270,8 kB (62%), quindi di nuovo (come rivelato dal confronto tra mp4 e packJPG), fp8 non sembra trarre molto vantaggio dalle somiglianze. Anche compresso con rar, un'immagine più la differenza fanno meglio di fp8 sulle immagini originali. In tal caso, raramente arriva a 333,6 kB (76%).
Immagino che ci debba essere una buona soluzione di compressione per questo problema, dal momento che posso immaginare molte applicazioni. Accanto al mio caso particolare, immagino che molti fotografi professionisti abbiano molti scatti simili a causa di scatti sequenziali o immagini time-lapse, ecc. Tutti i casi che trarrebbero beneficio da tale compressione.
Inoltre, non ho bisogno di una compressione senza perdita, almeno non per i dati dell'immagine (i metadati devono essere conservati).
Quindi ... Esiste un metodo di compressione che sfrutta le somiglianze tra le immagini compresse?
Le due immagini del test sopra possono essere scaricate qui e le 96 immagini del primo test qui .
Is there a compression utility that take advantage of the similarities between images better than zpaq and fp8?
e Is there a updated/maintained version of the fp8 utility?
sono probabilmente le linee offensive. Contrasto che con es. Is there a compression *method, algorithm or technique* that take advantage of the similarities between images better than zpaq and fp8?
Il focus è probabilmente molto diverso. La richiesta di software è probabilmente comunque ridondante, dato che software specifico (se applicabile) verrà quasi certamente menzionato in qualsiasi risposta fornita.