Bester Komprimierungsalgorithmus für Zeitrafferfotos

9

Ich habe einen Ordner mit ungefähr 9.000 JPEG-Fotos (ungefähr 30 GB), den ich mit einer Art Komprimierung archivieren möchte. Ich verstehe, dass das Komprimieren von JPEGs normalerweise nicht sehr effektiv ist, aber diese Fotos sind Frames eines Zeitraffers, sodass die meisten Bilder eine große Gemeinsamkeit aufweisen. Bekomme ich in diesem Fall wahrscheinlich mehr Dateigrößenreduzierung als normal? Gibt es einen bestimmten (allgemeinen) Komprimierungsalgorithmus, der in diesem Szenario besonders gut funktioniert?

Stephen
quelle
1
Können Sie einfach einen Standard-Video-Codec wie h264 verwenden?
CodesInChaos

Antworten:

9

Das ist eine interessante Frage: Können gängige Komprimierungsalgorithmen die Redundanz in Frames noch nutzen, nachdem sie einzeln komprimiert wurden, oder ist die individuelle Komprimierung zu gut, um "Spuren zu hinterlassen"? Ich weiß es nicht und Sie müssten es ausprobieren, um eine zuverlässige Antwort zu erhalten.

Es ist jedoch mit ziemlicher Sicherheit eine bessere Idee, alle diese Frames zunächst als Videostream zu speichern, da Video-Encoder speziell für diesen Job geschrieben wurden. (Die Wiederverwendung erfolgreicher Bibliotheken ist fast immer schneller und effizienter als das Rollen eigener Bibliotheken.) Sie können jedes einzelne Bild jederzeit aus dem Video extrahieren, wenn Sie es benötigen. Ich glaube nicht, dass Sie einen Standardkompressor finden können, der bei dieser Aufgabe fast so gut funktioniert wie diejenigen, die speziell auf diesen Job zugeschnitten sind.

Kilian Foth
quelle
2
@Stephen Mit ffmpeg können Sie Ihre Bilder in ein Video konvertieren. trac.ffmpeg.org/wiki/… Dies würde die Bilder verlustbehaftet komprimieren. Sie können dann später ffmpeg verwenden, um die Frames wieder herauszuziehen. Dies wäre möglicherweise sehr verlustbehaftet, aber Sie können die Qualitätsstufen anpassen, um dies zu verringern.
Sirisian
6

Methoden der Datenkomprimierung, die die Redundanz zwischen einzelnen Datengruppen eines Satzes (normalerweise ein Satz ähnlicher Bilder) ausnutzen, werden als Satzredundanzkomprimierung bezeichnet (SRC wurde erstmals 1996 von Kosmas Karadimitriou vorgeschlagen ).

Es gibt vier bekannte Arten von SRC-Techniken:

  • Min-Max-Differentialmethode (MMD)
  • Min-Max-Vorhersagemethode (MMP)
  • Schwerpunktmethode
  • mehrstufige Schwerpunktmethode

Ein Vergleich der Komprimierungstechniken für die Redundanz von Sets (Samy Ait-Aoudia und Abdelhalim Gabis) enthält eine kurze Beschreibung und einen Vergleich der verschiedenen Algorithmen.

MMP-Methoden arbeiten normalerweise besser als die anderen SRC-Techniken.

SRC ist ein aktives Forschungsgebiet, aber Sie werden kaum eine gebrauchsfertige Software finden.


Da Ihre Fotos Bilder eines Zeitraffers sind, haben Sie eine hohe "zeitliche Redundanz" und Videokomprimierungsmethoden können effektiv verwendet werden. Jedoch:

  • Ein Bild kann nicht dekomprimiert werden, ohne eine Reihe anderer Bilder zu dekomprimieren.
  • Die meisten Videokomprimierungsmethoden sind verlustbehaftet.

Bedenken Sie auch, dass JPEG-Dateien weiter komprimiert werden können: Software, die auf einem Kontextmischungsalgorithmus basiert (z. B. PAQ- Archivierer für verlustfreie Datenkomprimierung), ist in dieser Hinsicht recht gut (auf Kosten von Geschwindigkeit und Speicher).

Manlio
quelle