Meilleur algorithme de compression pour les photos timelapse

9

J'ai un dossier contenant environ 9 000 photos JPEG (environ 30 Go), que je veux archiver avec une sorte de compression. Je comprends que la compression de JPEG n'est généralement pas très efficace, mais ces photos sont des images d'un timelapse, il y a donc une énorme similitude entre la plupart des images. Suis-je susceptible d'obtenir une réduction de taille de fichier plus importante que la normale dans ce cas? Existe-t-il un algorithme de compression particulier (commun) qui fonctionnera particulièrement bien dans ce scénario?

Stephen
la source
1
Pouvez-vous simplement utiliser un codec vidéo standard comme h264?
CodesInChaos

Réponses:

9

C'est une question intéressante: les algorithmes de compression populaires peuvent-ils encore utiliser la redondance dans les trames après avoir été compressées individuellement, ou la compression individuelle est-elle trop bonne pour "laisser des traces"? Je ne sais pas, et vous devrez l'essayer pour obtenir une réponse fiable.

Cependant, c'est presque certainement une meilleure idée de stocker toutes ces images en tant que flux vidéo en premier lieu, car les encodeurs vidéo sont écrits spécifiquement pour le travail. (La réutilisation de bibliothèques réussies est presque toujours plus rapide et plus efficace que le déploiement de la vôtre.) Vous pouvez toujours extraire chaque image individuelle de la vidéo si vous en avez besoin. Je ne pense pas que vous puissiez trouver un compresseur standard qui fera presque aussi bien pour cette tâche que ceux qui sont personnalisés pour le travail.

Kilian Foth
la source
2
@Stephen Vous pouvez utiliser ffmpeg pour convertir vos images en vidéo. trac.ffmpeg.org/wiki/… Cela comprimerait les images avec perte. Vous pouvez ensuite utiliser plus tard ffmpeg pour retirer les cadres. Ce serait potentiellement très coûteux, mais vous pouvez modifier les niveaux de qualité pour atténuer cela.
Sirisian
6

Les méthodes de compression de données qui exploitent la redondance entre des groupes de données individuels d'un ensemble (généralement un ensemble d'images similaires) sont nommées Set Redundancy Compression (SRC a été proposé en premier lieu par Kosmas Karadimitriou en 1996).

Il existe quatre types bien connus de techniques SRC:

  • Méthode différentielle Min-Max (MMD)
  • Méthode prédictive Min-Max (MMP)
  • méthode centroïde
  • méthode centroïde à plusieurs niveaux

Une comparaison des techniques de compression de redondance d'ensemble (Samy Ait-Aoudia et Abdelhalim Gabis) contient une brève description et une comparaison des différents algorithmes.

Les méthodes MMP fonctionnent généralement mieux que les autres techniques SRC.

Le SRC est un domaine de recherche actif, mais vous ne trouverez guère de logiciel prêt à l'emploi.


Comme vos photos sont des images d'un timelapse, vous disposez d'une "redondance temporelle" élevée et les méthodes de compression vidéo peuvent être utilisées efficacement. Toutefois:

  • une image ne peut pas être décompressée sans décompresser un certain nombre d'autres images;
  • la plupart des méthodes de compression vidéo sont avec perte.

Considérez également que les fichiers JPEG peuvent être davantage compressés: les logiciels basés sur l' algorithme de mélange de contexte (par exemple les archiveurs de compression de données sans perte PAQ ) sont assez bons à cet égard (au détriment de la vitesse et de la mémoire).

manlio
la source