Il miglior algoritmo di compressione per le foto timelapse


9

Ho una cartella contenente circa 9.000 foto JPEG (circa 30 Gb), che voglio archiviare con una sorta di compressione. Capisco che la compressione di JPEG non è normalmente molto efficace, ma queste foto sono fotogrammi di un timelapse, quindi c'è un'enorme quantità di comunanza tra la maggior parte delle immagini. In questo caso è probabile che ottenga una riduzione della dimensione del file maggiore del normale? Esiste un algoritmo di compressione (comune) particolare che probabilmente farà particolarmente bene in questo scenario?


1
Puoi semplicemente usare un codec video standard come h264?
CodesInChaos

Risposte:


9

Questa è una domanda interessante: gli algoritmi di compressione popolari possono ancora utilizzare la ridondanza nei frame dopo che sono stati compressi individualmente o la compressione individuale è troppo buona per "lasciare tracce"? Non lo so e dovresti provarlo per ottenere una risposta affidabile.

Tuttavia, è quasi sicuramente un'idea migliore archiviare tutti questi frame come stream video, in primo luogo, perché gli encoder video sono scritti appositamente per il lavoro. (Il riutilizzo di librerie di successo è quasi sempre più veloce ed efficiente di quello di creare le tue.) Se necessario, puoi sempre estrarre ogni singolo fotogramma dal video. Non penso che tu possa trovare un compressore standard che farà quasi altrettanto bene in questo compito come quelli su misura per il lavoro.


2
@Stephen Puoi usare ffmpeg per convertire le tue immagini in un video. trac.ffmpeg.org/wiki/… Questo comprimerebbe in perdita le immagini. Successivamente è possibile utilizzare ffmpeg per estrarre i frame. Questo potrebbe essere potenzialmente molto problematico, ma è possibile modificare i livelli di qualità per mitigarlo.
Sirisian,

6

I metodi di compressione dei dati che sfruttano la ridondanza tra singoli gruppi di dati di un set (di solito un set di immagini simili) sono denominati Set Redundancy Compression (SRC è stato proposto in primo luogo da Kosmas Karadimitriou nel 1996).

Esistono quattro tipi ben noti di tecniche SRC:

  • Metodo differenziale Min-Max (MMD)
  • Metodo predittivo Min-Max (MMP)
  • metodo centroide
  • metodo centroide multilivello

Un confronto tra le tecniche di compressione della ridondanza impostata (Samy Ait-Aoudia e Abdelhalim Gabis) contiene una breve descrizione e un confronto dei vari algoritmi.

I metodi MMP di solito funzionano meglio delle altre tecniche SRC.

SRC è un campo di ricerca attivo ma difficilmente troverai un software pronto per l'uso.


Poiché le tue foto sono fotogrammi di un timelapse, hai un'elevata "ridondanza temporale" e i metodi di compressione video possono essere utilizzati in modo efficace. Però:

  • un'immagine non può essere decompressa senza decomprimere un numero di altre immagini;
  • la maggior parte dei metodi di compressione video sono in perdita.

Considera anche che i file JPEG possono essere ulteriormente compressi: i software basati sull'algoritmo di miscelazione del contesto (ad esempio gli archivi di compressione dei dati lossless PAQ ) sono abbastanza buoni in questo senso (a scapito della velocità e della memoria).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.